examples: updates
authorRomain Forlot <romain.forlot@iot.bzh>
Tue, 12 Nov 2019 15:20:00 +0000 (16:20 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Tue, 12 Nov 2019 15:20:00 +0000 (16:20 +0100)
Change-Id: I9c71038690d301e513f736a3405c3367f64fdbda
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
examples/OBD2/application-generated.cpp
examples/agl-vcar/application-generated.cpp
examples/basic/application-generated.cpp
examples/engine/application-generated.cpp
examples/hvac/application-generated.cpp
examples/j1939/application-generated.cpp
examples/j1939/j1939_openxc.json [new file with mode: 0755]
examples/tests/application-generated.cpp
examples/toyota/auris/application-generated.cpp

index f5788d9..5bed759 100644 (file)
@@ -269,7 +269,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index f4d2635..e04c335 100644 (file)
@@ -499,7 +499,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,2050,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 8, 2050, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -569,7 +569,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -595,7 +595,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -643,7 +643,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x620,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -757,7 +757,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x799,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -1111,7 +1111,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index 1985760..bf32106 100644 (file)
@@ -34,7 +34,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"example",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x128,"ECM_z_5D2",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x128,"ECM_z_5D2", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine_speed",// generic_name
@@ -200,7 +200,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index bc66b5e..4f6dd70 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"example",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -77,7 +77,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -103,7 +103,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -161,7 +161,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index a716654..0086abb 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"example",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"ls", 0x30,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "hvac.fan.speed",// generic_name
@@ -109,7 +109,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index 1b07b5b..e0b633b 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"Virtual J1939",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61442,"ETC1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Momentary.Overspeed.Enable",// generic_name
@@ -281,7 +281,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61444,"EEC1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
@@ -491,7 +491,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61449,"VDC2", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Lateral.Acceleration",// generic_name
@@ -631,7 +631,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65215,"EBC2", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Front.Axle.Speed",// generic_name
@@ -789,7 +789,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65253,"HOURS", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Total.Hours.Of.Operation",// generic_name
@@ -837,7 +837,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65262,"ET1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Coolant.Temp",// generic_name
@@ -983,7 +983,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
diff --git a/examples/j1939/j1939_openxc.json b/examples/j1939/j1939_openxc.json
new file mode 100755 (executable)
index 0000000..8c59a2f
--- /dev/null
@@ -0,0 +1,66738 @@
+
+{   "name": "J1939",
+       "extra_sources": [],
+       "initializers": [],
+       "loopers": [],
+       "buses": {},
+       "commands": [],
+       "messages": {
+               "0": {
+                       "comment": "This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider.",
+                       "length": 0,
+                       "name": "VECTOR__INDEPENDENT_SIG_MSG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trailer.Weight" : {
+                                       "generic_name": "Trailer.Weight",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass of freight-carrying vehicle designed to be pulled by truck, including the weight of the contents.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting" : {
+                                       "generic_name": "Reference.Tire.Press.Setting",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Reference value of the tire pressure setting as basis for the tire pressure monitoring",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press" : {
+                                       "generic_name": "Reference.Tire.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Reference value of the tire pressure as basis for the tire pressure monitoring",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press.Threshold.Detection" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Air.Leakage.Rate" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "C.TIWheel.End.Electrical.Fault" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status" : {
+                                       "generic_name": "C.TITire.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Tire.Temp" : {
+                                       "generic_name": "Tire.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press" : {
+                                       "generic_name": "Tire.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61485": {
+                       "comment": "The acceleration sensor message shall provide a measurement of the vehicle's acceleration in the lateral, longitudinal,and vertical axes.",
+                       "length": 7,
+                       "name": "AccelerationSensor",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Spprt.Vrbl.Trns.Rpttn.Rt.Fr.Acclrtn.Snsr" : {
+                                       "generic_name": "Spprt.Vrbl.Trns.Rpttn.Rt.Fr.Acclrtn.Snsr",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates which acceleration transmission rate are supported by the ECU in addition to the required 10 ms transmission",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MsTransRate": [1]
+                                       }
+                               },
+                               "Vrtcl.Acclrtn.Ex.Rnge.Figure.Of.Merit" : {
+                                       "generic_name": "Vrtcl.Acclrtn.Ex.Rnge.Figure.Of.Merit",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for vertical acceleration measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VrtclAcclrtnIsFllyFnctnlDtIsWth": [0],
+                                               "VrtclcclrtnIsDgrddDtIsSspctDTEn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lngtdnl.Acclrtn.Ex.Rng.Fgure.Of.Merit" : {
+                                       "generic_name": "Lngtdnl.Acclrtn.Ex.Rng.Fgure.Of.Merit",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for longitudinal acceleration measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LngtdnlAcclrtnIsFllyFnctnlDtIsW": [0],
+                                               "LngtdnlAcclrtnIsDgrddDtIsSspctD": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Ltrl.Acclrtn.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Ltrl.Acclrtn.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for lateral acceleration measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LtrlAcclrtnIsFllyFnctnlDtIsWthn": [0],
+                                               "LtrlAcclrtnIsDgrddDtIsSspctDTEn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vertical.Acceleration.Ex.Range" : {
+                                       "generic_name": "Vertical.Acceleration.Ex.Range",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": -320,
+                                       "min_value": -320,
+                                       "max_value": 322.55,
+                                       "comment": "Indicates vertical acceleration of the vehicle and the effect of gravity.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lateral.Acceleration.Ex.Range" : {
+                                       "generic_name": "Lateral.Acceleration.Ex.Range",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": -320,
+                                       "min_value": -320,
+                                       "max_value": 322.55,
+                                       "comment": "Indicates lateral acceleration of the vehicle.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Longitudinal.Acceleration.Ex.Range" : {
+                                       "generic_name": "Longitudinal.Acceleration.Ex.Range",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": -320,
+                                       "min_value": -320,
+                                       "max_value": 322.55,
+                                       "comment": "Indicates longitudinal acceleration of the vehicle.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64746": {
+                       "comment": "Vehicle Electrical Power #4",
+                       "length": 8,
+                       "name": "VEP4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Hybrd.Battery.Pack.Remaining.Charge" : {
+                                       "generic_name": "Hybrd.Battery.Pack.Remaining.Charge",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Indicates the hybrid battery pack remaining charge.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61481": {
+                       "comment": "Slope Sensor Information 2",
+                       "length": 8,
+                       "name": "SSI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rll.And.Ptch.Ex.Rng.Msurement.Latency" : {
+                                       "generic_name": "Rll.And.Ptch.Ex.Rng.Msurement.Latency",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Time between start of sensor processing and CAN transmission",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Roll.Angle.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Roll.Angle.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for roll angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RllRtFllyFnctnlDtIsWthnSnsrSpcf": [0],
+                                               "RllRtDgrddDtIsSspctDTEnvrnmntlC": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Roll.Angle.Ex.Range.Compensation" : {
+                                       "generic_name": "Roll.Angle.Ex.Range.Compensation",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Compensated mode for the roll measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "On": [0],
+                                               "Off": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pitch.Angle.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Pitch.Angle.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for pitch angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PtchRtFllyFnctnlDtIsWthnSnsrSpc": [0],
+                                               "PtchRtDgrddDtIsSspctDTEnvrnmntl": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pitch.Angle.Ex.Range.Compensation" : {
+                                       "generic_name": "Pitch.Angle.Ex.Range.Compensation",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Compensated mode for the pitch measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "On": [0],
+                                               "Off": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Roll.Angle.Ex.Range" : {
+                                       "generic_name": "Roll.Angle.Ex.Range",
+                                       "bit_position": 23,
+                                       "bit_size": 24,
+                                       "factor": 0.000030517578125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 250.9999,
+                                       "comment": "The angle between the vehicle y-axis and the ground plane.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pitch.Angle.Ex.Range" : {
+                                       "generic_name": "Pitch.Angle.Ex.Range",
+                                       "bit_position": -1,
+                                       "bit_size": 24,
+                                       "factor": 0.000030517578125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 250.9999,
+                                       "comment": "The angle between the vehicle x-axis and the ground plane.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64790": {
+                       "comment": "Occupant Classification System Information",
+                       "length": 8,
+                       "name": "OCSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Occpnt.Clssfcation.System10.Status" : {
+                                       "generic_name": "Occpnt.Clssfcation.System10.Status",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 10.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System9.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System9.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 9.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System8.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System8.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 8.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System7.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System7.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 7.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System6.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System6.Status",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 6.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System5.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System5.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System4.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System4.Status",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Occpnt.Clssfication.System3.Status" : {
+                                       "generic_name": "Occpnt.Clssfication.System3.Status",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of Occupant Classification System for seat position 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Occupied": [1],
+                                               "ErrrClssfctonCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pssngr.Occpnt.Clssfctn.Systm.Status" : {
+                                       "generic_name": "Pssngr.Occpnt.Clssfctn.Systm.Status",
+                                       "bit_position": 2,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of Occupant Classification System for passenger.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Child": [1],
+                                               "SmallAdult": [2],
+                                               "Adult": [3],
+                                               "LargeAdult": [4],
+                                               "ErrrClssfctnOfOccpntCnntBDtrmnd": [5],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Drvr.Occpnt.Clssfcton.System.Status" : {
+                                       "generic_name": "Drvr.Occpnt.Clssfcton.System.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of Occupant Classification System for driver.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Child": [1],
+                                               "SmallAdult": [2],
+                                               "Adult": [3],
+                                               "LargeAdult": [4],
+                                               "Reserved": [5],
+                                               "ErrrClssfctnOfOccpntCnntBDtrmnd": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "38910": {
+                       "comment": "Noise Control Status",
+                       "length": 8,
+                       "name": "NCS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cab.Noise.Ctrl.Tuning.Status" : {
+                                       "generic_name": "Cab.Noise.Ctrl.Tuning.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter returns the current status of tuning function of the Cab Noise Control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ManualTuningMode": [0],
+                                               "ManualTuningModeCmdComplete": [1],
+                                               "ManualTuningModeSavingData": [2],
+                                               "MnlTnngDndRqrsScrtyVerification": [7],
+                                               "AutomaticTuningMode": [8],
+                                               "AutomaticTuningModeCmdComplete": [9],
+                                               "AutomaticTuningModeSavingData": [10],
+                                               "Reserved": [13],
+                                               "TuningModeError": [14],
+                                               "NotAvailable_NotTuning_NotRqed": [15]
+                                       }
+                               },
+                               "Cab.Noise.Ctrl.Status" : {
+                                       "generic_name": "Cab.Noise.Ctrl.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter returns the current status of the Cab Noise Control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CabNoiseCtrlSystemONLine": [0],
+                                               "CabNoiseCtrlSystemOFFLine": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable_NotRqed": [3]
+                                       }
+                               }
+                       }
+               },
+               "39166": {
+                       "comment": "Noise Control 1",
+                       "length": 8,
+                       "name": "NC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cab.Noise.Ctrl.Tuning.State" : {
+                                       "generic_name": "Cab.Noise.Ctrl.Tuning.State",
+                                       "bit_position": 1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Command values for the Tuning State of the Cab Noise Control System.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ActvtMnlTnngWtFrSaveAndExitCmds": [0],
+                                               "ActvtAtmtcTnngWtFrSvAndExitCmds": [1],
+                                               "ActvtAtmtcTnngSttSvngPrmtrsExtO": [2],
+                                               "RmnInTningSaveCurrentParameters": [3],
+                                               "ExitTuningNotSavingParameters": [4],
+                                               "ExitTuningSavingParameters": [5],
+                                               "Reserved": [6],
+                                               "DontCareNOTCmded": [7]
+                                       }
+                               },
+                               "Cab.Noise.Ctrl.State" : {
+                                       "generic_name": "Cab.Noise.Ctrl.State",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to change the state of the Cab Noise Control System to on-line or off-line",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TakeCabNoiseCtrlSystemOffLine": [0],
+                                               "BringCabNoiseCtrlSystemOnLine": [1],
+                                               "Reserved": [2],
+                                               "DontCare_NotCmded": [3]
+                                       }
+                               }
+                       }
+               },
+               "61484": {
+                       "comment": "Magnet Status Information 2",
+                       "length": 8,
+                       "name": "MSI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Drop.Relay.Ctrl" : {
+                                       "generic_name": "Drop.Relay.Ctrl",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to Engage and Disengage the Drop Relay controlling a Steady-State Magnet.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OffDisableDropRelayRq": [0],
+                                               "OnEnableDropRelayRq": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Lift.Relay.Ctrl" : {
+                                       "generic_name": "Lift.Relay.Ctrl",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to Engage and Disengage the Lift Relay controlling a Steady-State Magnet.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OffDisableLiftRelayRq": [0],
+                                               "OnEnableLiftRelayRq": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Material.Drop.Active.Status" : {
+                                       "generic_name": "Material.Drop.Active.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The status of Material Drop Relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Material.Lift.Active.Status" : {
+                                       "generic_name": "Material.Lift.Active.Status",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The status of Material Lift Relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Gnrator.Current.Boost.Active.Status" : {
+                                       "generic_name": "Gnrator.Current.Boost.Active.Status",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of generator current boost relay that can boost the generator output current for picking-up material operations.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Material.Drop.Switch" : {
+                                       "generic_name": "Material.Drop.Switch",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is a switch that can be used to enable the drop functionality of the Material Handler machine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DontDrop": [0],
+                                               "Drop": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Material.Lift.Switch" : {
+                                       "generic_name": "Material.Lift.Switch",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is a switch that can be used to enable the lift functionality of the Material Handler machine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DontLift": [0],
+                                               "Lift": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Magnet.Reverse.Current" : {
+                                       "generic_name": "Magnet.Reverse.Current",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "A reverse current being supplied to the electric magnet to reduce the forward current generated magnet field as quick as",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Magnet.Forward.Current" : {
+                                       "generic_name": "Magnet.Forward.Current",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The forward current being supplied by the generator to the electric magnet to create a magnet field to lift material.",
+                                       "unit": "Amps",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64786": {
+                       "comment": "Magnet Status Information 1",
+                       "length": 8,
+                       "name": "MSI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Gnerator.Duty.Cycle.Exceeded.Status" : {
+                                       "generic_name": "Gnerator.Duty.Cycle.Exceeded.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The status of the duty cycle of the generator usage, indicating if the generator has been on for too much time within a",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DutyCycleNotExceed": [0],
+                                               "DutyCycleExceed": [1],
+                                               "Error": [2],
+                                               "NotAvaiable": [3]
+                                       }
+                               },
+                               "Voltage.Monitor.Active.Status" : {
+                                       "generic_name": "Voltage.Monitor.Active.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of Voltage Monitor Relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MonitorIsOff": [0],
+                                               "MonitorIsOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Genset.Enable.Active.Status" : {
+                                       "generic_name": "Genset.Enable.Active.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the Genset Enable Relay that enables or disables the Genset.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotEnabled": [0],
+                                               "Enabled": [1],
+                                               "Error": [2],
+                                               "NotAvaialble": [3]
+                                       }
+                               },
+                               "Reverse.Current.Range.Setting" : {
+                                       "generic_name": "Reverse.Current.Range.Setting",
+                                       "bit_position": 7,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "The operator setting for the Reverse Current.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "1": [0],
+                                               "2": [1],
+                                               "3": [2],
+                                               "4": [3],
+                                               "5": [4],
+                                               "6": [5],
+                                               "7": [6],
+                                               "8": [7],
+                                               "9": [8],
+                                               "10": [9],
+                                               "11": [10],
+                                               "12": [11],
+                                               "13": [12],
+                                               "14": [13],
+                                               "15": [14],
+                                               "16": [15],
+                                               "11101NotUsed": [16],
+                                               "Error": [30],
+                                               "NotAvailable": [31]
+                                       }
+                               },
+                               "Genset.Softstart.Active.Status" : {
+                                       "generic_name": "Genset.Softstart.Active.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The Genset Softstart Active Status refers to the status of the genset softstart relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Grapple_.Magnet.Selection.Switch" : {
+                                       "generic_name": "Grapple_.Magnet.Selection.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is a switch that can be used to select either the Grapple or Magnet function of the material handler machine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "GrappleSelected": [0],
+                                               "MagnetSelected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Gnst.Systm.Otpt.Voltage.Range.Status" : {
+                                       "generic_name": "Gnst.Systm.Otpt.Voltage.Range.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of generator voltage in or out of desired operating range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutOfRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Generator.Overheat.Status" : {
+                                       "generic_name": "Generator.Overheat.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The Status of Generator being Overheated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOverheat": [0],
+                                               "Overheat": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64787": {
+                       "comment": "Magnet System Configuration Information",
+                       "length": 8,
+                       "name": "MSCI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Magnet.Rated.Power" : {
+                                       "generic_name": "Magnet.Rated.Power",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The rated power that the magnet can accept during material holding operations.",
+                                       "unit": "kW",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Magnet.Boost.Time" : {
+                                       "generic_name": "Magnet.Boost.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "The duration of time after the activation of the magnet circuit that a relatively high current is sent to the magnet for",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "38654": {
+                       "comment": "Low Voltage Disconnect Set Operating Mode",
+                       "length": 8,
+                       "name": "LVDSOM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Lw.Vltg.Dscnnct.Dsred.Operating.Mode" : {
+                                       "generic_name": "Lw.Vltg.Dscnnct.Dsred.Operating.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Desired Operating Mode of the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "0011Reserved": [1],
+                                               "ManualDisconnect": [4],
+                                               "ManualConnect": [5],
+                                               "1110Reserved": [6],
+                                               "NoChange": [15]
+                                       }
+                               }
+                       }
+               },
+               "64769": {
+                       "comment": "Low Voltage Disconnect Status",
+                       "length": 8,
+                       "name": "LVDS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Low.Voltage.Disconnect.Temp" : {
+                                       "generic_name": "Low.Voltage.Disconnect.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Internal temperature of the LVD.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lw.Vltg.Disconnect.Vout.Output.State" : {
+                                       "generic_name": "Lw.Vltg.Disconnect.Vout.Output.State",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of the Vout Output from the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutputOffDisconnected": [0],
+                                               "OutputOnConnected": [1],
+                                               "DscnnctAlrmExprdOtptOffDscnnctd": [2],
+                                               "DisconnectPendingAlarmActive": [3],
+                                               "ConnectPendingAlarmActive": [4],
+                                               "1101Reserved": [5],
+                                               "OutputFault": [14],
+                                               "NotAvailableNotInstalled": [15]
+                                       }
+                               },
+                               "Lw.Voltage.Disconnect.Output1.State" : {
+                                       "generic_name": "Lw.Voltage.Disconnect.Output1.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of the Output #1 from the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutputOffDisconnected": [0],
+                                               "OutputOnConnected": [1],
+                                               "DscnnctAlrmExprdOtptOffDscnnctd": [2],
+                                               "DisconnectPendingAlarmActive": [3],
+                                               "ConnectPendingAlarmActive": [4],
+                                               "1101Reserved": [5],
+                                               "OutputFault": [14],
+                                               "NotAvailableNotInstalled": [15]
+                                       }
+                               },
+                               "Lw.Voltage.Disconnect.Output2.State" : {
+                                       "generic_name": "Lw.Voltage.Disconnect.Output2.State",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of the Output #2 from the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutputOffDisconnected": [0],
+                                               "OutputOnConnected": [1],
+                                               "DscnnctAlrmExprdOtptOffDscnnctd": [2],
+                                               "DisconnectPendingAlarmActive": [3],
+                                               "ConnectPendingAlarmActive": [4],
+                                               "1101Reserved": [5],
+                                               "OutputFault": [14],
+                                               "NotAvailableNotInstalled": [15]
+                                       }
+                               },
+                               "Lw.Voltage.Disconnect.Output3.State" : {
+                                       "generic_name": "Lw.Voltage.Disconnect.Output3.State",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of the Output #3 from the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutputOffDisconnected": [0],
+                                               "OutputOnConnected": [1],
+                                               "DscnnctAlrmExprdOtptOffDscnnctd": [2],
+                                               "DisconnectPendingAlarmActive": [3],
+                                               "ConnectPendingAlarmActive": [4],
+                                               "1101Reserved": [5],
+                                               "OutputFault": [14],
+                                               "NotAvailableNotInstalled": [15]
+                                       }
+                               },
+                               "Lw.Vltg.Dscnnct.Crrnt.Operating.Mode" : {
+                                       "generic_name": "Lw.Vltg.Dscnnct.Crrnt.Operating.Mode",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Current operating mode of the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "0011Reserved": [1],
+                                               "ManualDisconnectViaJ1939Rq": [4],
+                                               "ManualConnectViaJ1939Rq": [5],
+                                               "0111Reserved": [6],
+                                               "MnalDisconnectViaHardwiredInput": [8],
+                                               "ManualConnectViaHardwiredInput": [9],
+                                               "1110Reserved": [10],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Lw.Vltg.Dscnnct.Manual.Connect.State" : {
+                                       "generic_name": "Lw.Vltg.Dscnnct.Manual.Connect.State",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of the Manual Connect hardwired input to the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InputOff": [0],
+                                               "InputOn": [1],
+                                               "Error": [2],
+                                               "NotInstalled": [3]
+                                       }
+                               },
+                               "Lw.Vltg.Dscnnct.Mnl.Disconnect.State" : {
+                                       "generic_name": "Lw.Vltg.Dscnnct.Mnl.Disconnect.State",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of the Manual Disconnect hardwired input to the LVD.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InputOff": [0],
+                                               "InputOn": [1],
+                                               "Error": [2],
+                                               "NotInstalled": [3]
+                                       }
+                               }
+                       }
+               },
+               "64750": {
+                       "comment": "Land Leveling System Reference Elevation Data",
+                       "length": 8,
+                       "name": "LLRE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bld.Rference.Elevation.Offset.Right" : {
+                                       "generic_name": "Bld.Rference.Elevation.Offset.Right",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32000,
+                                       "min_value": -32000,
+                                       "max_value": 32255,
+                                       "comment": "Indicates the blade's right elevation offset with respect to the reference elevation.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bld.Reference.Elevation.Offset.Left" : {
+                                       "generic_name": "Bld.Reference.Elevation.Offset.Left",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32000,
+                                       "min_value": -32000,
+                                       "max_value": 32255,
+                                       "comment": "Indicates the blade's left elevation offset with respect to the reference elevation.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Blade.Elevation.Deviation.Right" : {
+                                       "generic_name": "Blade.Elevation.Deviation.Right",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32000,
+                                       "min_value": -32000,
+                                       "max_value": 32255,
+                                       "comment": "Indicate the blade's right elevation deviation with respect to the reference elevation.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Blade.Elevation.Deviation.Left" : {
+                                       "generic_name": "Blade.Elevation.Deviation.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32000,
+                                       "min_value": -32000,
+                                       "max_value": 32255,
+                                       "comment": "Indicate the blade's left elevation deviation with respect to the reference elevation.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "39422": {
+                       "comment": "Joystick Lamp Command Message",
+                       "length": 8,
+                       "name": "JLCM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick3.Lamp10.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp10.Cmd",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 10.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp9.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp9.Cmd",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 9.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp8.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp8.Cmd",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 8.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp7.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp7.Cmd",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 7.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp6.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp6.Cmd",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 6.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp5.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp5.Cmd",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp4.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp4.Cmd",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp3.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp3.Cmd",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp2.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp2.Cmd",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick3.Lamp1.Cmd" : {
+                                       "generic_name": "Joystick3.Lamp1.Cmd",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 3 to switch on/off/blinking lamp 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp10.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp10.Cmd",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 10.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp9.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp9.Cmd",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 9.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp8.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp8.Cmd",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 8.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp7.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp7.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 7.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp6.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp6.Cmd",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 6.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp5.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp5.Cmd",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp4.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp4.Cmd",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp3.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp3.Cmd",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp2.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp2.Cmd",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick2.Lamp1.Cmd" : {
+                                       "generic_name": "Joystick2.Lamp1.Cmd",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 2 to switch on/off/blinking lamp 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp10.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp10.Cmd",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 10.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp9.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp9.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 9.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp8.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp8.Cmd",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 8.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp7.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp7.Cmd",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 7.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp6.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp6.Cmd",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 6.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp5.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp5.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp4.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp4.Cmd",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp3.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp3.Cmd",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp2.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp2.Cmd",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Joystick1.Lamp1.Cmd" : {
+                                       "generic_name": "Joystick1.Lamp1.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Tells joystick 1 to switch on/off/blinking lamp 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Blinking": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               }
+                       }
+               },
+               "64744": {
+                       "comment": "Intake Valve Actuation Control",
+                       "length": 8,
+                       "name": "IVAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Intk.Vlv.Acttn.Systm.Ol.Prss2.Slnd.Ctrl" : {
+                                       "generic_name": "Intk.Vlv.Acttn.Systm.Ol.Prss2.Slnd.Ctrl",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the current command to the solenoid that controls the intake valve actuation system oil pressure 2 valve.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Intk.Vlv.Acttn.Systm.Ol.Prss1.Slnd.Ctrl" : {
+                                       "generic_name": "Intk.Vlv.Acttn.Systm.Ol.Prss1.Slnd.Ctrl",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the current command to the solenoid that controls the intake valve actuation system oil pressure 1 valve.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64793": {
+                       "comment": "Ignitor Loop Information",
+                       "length": 200,
+                       "name": "ILI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Special.Ignitor.Loop90.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop90.Resistance",
+                                       "bit_position": 1583,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 90.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop89.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop89.Resistance",
+                                       "bit_position": 1567,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 89.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop88.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop88.Resistance",
+                                       "bit_position": 1551,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 88.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop87.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop87.Resistance",
+                                       "bit_position": 1535,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 87.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop86.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop86.Resistance",
+                                       "bit_position": 1519,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 86.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop85.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop85.Resistance",
+                                       "bit_position": 1503,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 85.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop84.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop84.Resistance",
+                                       "bit_position": 1487,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 84.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop83.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop83.Resistance",
+                                       "bit_position": 1471,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 83.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop82.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop82.Resistance",
+                                       "bit_position": 1455,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 82.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop81.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop81.Resistance",
+                                       "bit_position": 1439,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 81.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop80.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop80.Resistance",
+                                       "bit_position": 1423,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 80.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop79.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop79.Resistance",
+                                       "bit_position": 1407,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 79.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop78.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop78.Resistance",
+                                       "bit_position": 1391,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 78.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop77.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop77.Resistance",
+                                       "bit_position": 1375,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 77.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop76.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop76.Resistance",
+                                       "bit_position": 1359,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 76.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop75.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop75.Resistance",
+                                       "bit_position": 1343,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 75.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop74.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop74.Resistance",
+                                       "bit_position": 1327,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 74.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop73.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop73.Resistance",
+                                       "bit_position": 1311,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 73.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop72.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop72.Resistance",
+                                       "bit_position": 1295,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 72.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop71.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop71.Resistance",
+                                       "bit_position": 1279,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 71.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop70.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop70.Resistance",
+                                       "bit_position": 1263,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 70.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop69.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop69.Resistance",
+                                       "bit_position": 1247,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 69.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop68.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop68.Resistance",
+                                       "bit_position": 1231,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 68.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop67.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop67.Resistance",
+                                       "bit_position": 1215,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 67.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop66.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop66.Resistance",
+                                       "bit_position": 1199,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 66.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop65.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop65.Resistance",
+                                       "bit_position": 1183,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 65.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop64.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop64.Resistance",
+                                       "bit_position": 1167,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 64.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop63.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop63.Resistance",
+                                       "bit_position": 1151,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 63.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop61.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop61.Resistance",
+                                       "bit_position": 1119,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 61.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop60.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop60.Resistance",
+                                       "bit_position": 1103,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 60.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop59.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop59.Resistance",
+                                       "bit_position": 1087,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 59.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop58.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop58.Resistance",
+                                       "bit_position": 1071,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 58.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop57.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop57.Resistance",
+                                       "bit_position": 1055,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 57.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop56.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop56.Resistance",
+                                       "bit_position": 1039,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 56.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop55.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop55.Resistance",
+                                       "bit_position": 1023,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 55.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop54.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop54.Resistance",
+                                       "bit_position": 1007,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 54.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop53.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop53.Resistance",
+                                       "bit_position": 991,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 53.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop52.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop52.Resistance",
+                                       "bit_position": 975,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 52.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop51.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop51.Resistance",
+                                       "bit_position": 959,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 51.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop50.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop50.Resistance",
+                                       "bit_position": 943,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 50.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop49.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop49.Resistance",
+                                       "bit_position": 927,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 49.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop48.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop48.Resistance",
+                                       "bit_position": 911,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 48.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop47.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop47.Resistance",
+                                       "bit_position": 895,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 47.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop46.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop46.Resistance",
+                                       "bit_position": 879,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 46.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop45.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop45.Resistance",
+                                       "bit_position": 863,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 45.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop44.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop44.Resistance",
+                                       "bit_position": 847,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 44.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop43.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop43.Resistance",
+                                       "bit_position": 831,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 43.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop42.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop42.Resistance",
+                                       "bit_position": 815,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 42.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop41.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop41.Resistance",
+                                       "bit_position": 799,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 41.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop40.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop40.Resistance",
+                                       "bit_position": 783,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 40.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop39.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop39.Resistance",
+                                       "bit_position": 767,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 39.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop38.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop38.Resistance",
+                                       "bit_position": 751,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 38.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop37.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop37.Resistance",
+                                       "bit_position": 735,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 37.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop36.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop36.Resistance",
+                                       "bit_position": 719,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 36.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop35.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop35.Resistance",
+                                       "bit_position": 703,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 35.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop34.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop34.Resistance",
+                                       "bit_position": 687,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 34.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop33.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop33.Resistance",
+                                       "bit_position": 671,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 33.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop32.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop32.Resistance",
+                                       "bit_position": 655,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 32.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop31.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop31.Resistance",
+                                       "bit_position": 639,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 31.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop30.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop30.Resistance",
+                                       "bit_position": 623,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 30.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop29.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop29.Resistance",
+                                       "bit_position": 607,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 29.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop28.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop28.Resistance",
+                                       "bit_position": 591,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 28.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop27.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop27.Resistance",
+                                       "bit_position": 575,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 27.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop26.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop26.Resistance",
+                                       "bit_position": 559,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 26.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop25.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop25.Resistance",
+                                       "bit_position": 543,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 25.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop24.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop24.Resistance",
+                                       "bit_position": 527,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 24.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop23.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop23.Resistance",
+                                       "bit_position": 511,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 23.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop22.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop22.Resistance",
+                                       "bit_position": 495,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 22.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop21.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop21.Resistance",
+                                       "bit_position": 479,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 21.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop20.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop20.Resistance",
+                                       "bit_position": 463,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 20.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop19.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop19.Resistance",
+                                       "bit_position": 447,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 19.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop18.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop18.Resistance",
+                                       "bit_position": 431,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 18.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop17.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop17.Resistance",
+                                       "bit_position": 415,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 17.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop16.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop16.Resistance",
+                                       "bit_position": 399,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 16.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop15.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop15.Resistance",
+                                       "bit_position": 383,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 15.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop14.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop14.Resistance",
+                                       "bit_position": 367,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 14.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop13.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop13.Resistance",
+                                       "bit_position": 351,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 13.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop12.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop12.Resistance",
+                                       "bit_position": 335,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 12.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop11.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop11.Resistance",
+                                       "bit_position": 319,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 11.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop10.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop10.Resistance",
+                                       "bit_position": 303,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 10.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop9.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop9.Resistance",
+                                       "bit_position": 287,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 9.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop8.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop8.Resistance",
+                                       "bit_position": 271,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 8.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop7.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop7.Resistance",
+                                       "bit_position": 255,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 7.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop6.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop6.Resistance",
+                                       "bit_position": 239,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 6.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop5.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop5.Resistance",
+                                       "bit_position": 223,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 5.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop4.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop4.Resistance",
+                                       "bit_position": 207,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 4.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop3.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop3.Resistance",
+                                       "bit_position": 191,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 3.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop2.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop2.Resistance",
+                                       "bit_position": 175,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 2.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Special.Ignitor.Loop1.Resistance" : {
+                                       "generic_name": "Special.Ignitor.Loop1.Resistance",
+                                       "bit_position": 159,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Special Ignitor Loop 1.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sd.Bg.Ignitor.Loop2.Right.Resistance" : {
+                                       "generic_name": "Sd.Bg.Ignitor.Loop2.Right.Resistance",
+                                       "bit_position": 143,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Side Bag Ignitor Loop 2 - Right.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sd.Bg.Ignitor.Loop1.Right.Resistance" : {
+                                       "generic_name": "Sd.Bg.Ignitor.Loop1.Right.Resistance",
+                                       "bit_position": 127,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Side Bag Ignitor Loop 1 - Right.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sd.Bag.Ignitor.Loop2.Left.Resistance" : {
+                                       "generic_name": "Sd.Bag.Ignitor.Loop2.Left.Resistance",
+                                       "bit_position": 111,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Side Bag Ignitor Loop 2 - Left.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sd.Bag.Ignitor.Loop1.Left.Resistance" : {
+                                       "generic_name": "Sd.Bag.Ignitor.Loop1.Left.Resistance",
+                                       "bit_position": 95,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Side Bag Ignitor Loop 1 - Left.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pssngr.Blt.Tnsnr.Igntr.Lp.Resistance" : {
+                                       "generic_name": "Pssngr.Blt.Tnsnr.Igntr.Lp.Resistance",
+                                       "bit_position": 79,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Passenger Belt Tensioner Ignitor Loop 1st Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drvr.Blt.Tnsnr.Igntr.Loop.Resistance" : {
+                                       "generic_name": "Drvr.Blt.Tnsnr.Igntr.Loop.Resistance",
+                                       "bit_position": 63,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Driver Belt Tensioner Ignitor Loop 1st Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pssngr.Arbg.Igntr.Lp2nd.Stg.Rsstance" : {
+                                       "generic_name": "Pssngr.Arbg.Igntr.Lp2nd.Stg.Rsstance",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Passenger Airbag Ignitor Loop 2nd Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drvr.Arbg.Igntr.Lp2nd.Stg.Resistance" : {
+                                       "generic_name": "Drvr.Arbg.Igntr.Lp2nd.Stg.Resistance",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Driver Airbag Ignitor Loop 2nd Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pssngr.Arbg.Igntr.Lp1st.Stg.Rsstance" : {
+                                       "generic_name": "Pssngr.Arbg.Igntr.Lp1st.Stg.Rsstance",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Passenger Airbag Ignitor Loop 1st Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drvr.Arbg.Igntr.Lp1st.Stg.Resistance" : {
+                                       "generic_name": "Drvr.Arbg.Igntr.Lp1st.Stg.Resistance",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Resistance of Driver Airbag Ignitor Loop 1st Stage.",
+                                       "unit": "ohm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64777": {
+                       "comment": "High Resolution Fuel Consumption (Liquid)",
+                       "length": 8,
+                       "name": "HRLFC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "High.Resolution.Eng.Total.Fuel.Used" : {
+                                       "generic_name": "High.Resolution.Eng.Total.Fuel.Used",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081.215,
+                                       "comment": "Accumulated amount of fuel used during vehicle operation.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "High.Resolution.Eng.Trip.Fuel" : {
+                                       "generic_name": "High.Resolution.Eng.Trip.Fuel",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081.215,
+                                       "comment": "Fuel consumed during all or part of a journey.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61486": {
+                       "comment": "Engine Turbocharger Wastegate Actuator Control Command",
+                       "length": 8,
+                       "name": "EngTrboWastegateActuatorCtrlCmd",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo.Wastegate.Actuator2.Cmd" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator2.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The command to a Turbocharger Wastegate actuator 2, normalized to percent, where 0% nominally represents fully",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Wastegate.Actuator1.Cmd" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator1.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The ccommand to a Turbocharger Wastegate actuator 1, normalized to percent, where 0% nominally represents fully",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64753": {
+                       "comment": "Engine Turbocharger Wastegate Actuator Information",
+                       "length": 8,
+                       "name": "EngTrbWstgteActuatorInformation",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Trb.Wstgt.Acttr2.Opration.Status" : {
+                                       "generic_name": "Eng.Trb.Wstgt.Acttr2.Opration.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Turbocharger Wastegate Actuator 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Trb.Wstgt.Acttr1.Opration.Status" : {
+                                       "generic_name": "Eng.Trb.Wstgt.Acttr1.Opration.Status",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Turbocharger Wastegate Actuator 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Trb.Wstgte.Actuator2.Temp.Status" : {
+                                       "generic_name": "Eng.Trb.Wstgte.Actuator2.Temp.Status",
+                                       "bit_position": 4,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Turbocharger Wastegate Actuator 2 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Trb.Wstgt.Acttr2.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Trb.Wstgt.Acttr2.Preliminary.FMI",
+                                       "bit_position": -1,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Turbocharger Wastegate Actuator 2 by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64755": {
+                       "comment": "Engine Turbocharger Compressor Bypass Information",
+                       "length": 8,
+                       "name": "EngTrbCmprssorBypassInformation",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Trb.Cmprssr.Bypss.Acttr2.Oprtn.Stts" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr2.Oprtn.Stts",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Turbocharger Compressor Bypass Actuator 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypss.Acttr1.Oprtn.Stts" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr1.Oprtn.Stts",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Turbocharger Compressor Bypass Actuator 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypss.Acttr2.Tmp.Stts" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr2.Tmp.Stts",
+                                       "bit_position": 20,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Turbocharger Compresssor Bypass Actuator 2 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypss.Acttr2.Prlmnry.FMI" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr2.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Turbocharger Compressor Bypass Actuator 1 by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Dsrd.Trb.Cmprssr.Bypss.Acttr2.Pos" : {
+                                       "generic_name": "Eng.Dsrd.Trb.Cmprssr.Bypss.Acttr2.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The desired position of the Engine Turbocharger Compressor Bypass actuator 2 by the engine ECM, where 0%",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Trb.Cmprssr.Bypass.Actuator2.Pos" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypass.Actuator2.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Measures the position of the turbocharger compressor bypass actuator 2, where 0% represents bypass fully closed and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RprsntsBypssFllyOpnTypcllyCmprs": [4]
+                                       }
+                               }
+                       }
+               },
+               "64754": {
+                       "comment": "Engine Fuel/Throttle Valve Information",
+                       "length": 8,
+                       "name": "EngFelThrottleValveInformation",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Valve2.Operation.Status" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Operation.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Fuel Valve 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Fuel.Valve1.Operation.Status" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Operation.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Fuel Valve 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Thrttle.Valve2.Operation.Status" : {
+                                       "generic_name": "Eng.Thrttle.Valve2.Operation.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Throttle Valve 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14]
+                                       }
+                               },
+                               "Eng.Thrttle.Valve1.Operation.Status" : {
+                                       "generic_name": "Eng.Thrttle.Valve1.Operation.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Used to identify the status of Engine Throttle Valve 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal": [0],
+                                               "Alarm": [1],
+                                               "AlarmHighSeverity": [2],
+                                               "DerateActive": [3],
+                                               "CtrlledShutdownActive": [4],
+                                               "UnCtrlledShutdownActive": [5],
+                                               "1101ReservedForFutureAssignment": [6],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Fuel.Valve2.Temp.Status" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Temp.Status",
+                                       "bit_position": 44,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Fuel valve 2 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Fuel.Valve2.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Preliminary.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Fuel Valve 2 by the manufacturers software.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve1.Temp.Status" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Temp.Status",
+                                       "bit_position": 36,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Fuel valve 1 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Fuel.Valve1.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Preliminary.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Fuel Valve 1 by the manufacturers software.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Throttle.Valve2.Temp.Status" : {
+                                       "generic_name": "Eng.Throttle.Valve2.Temp.Status",
+                                       "bit_position": 28,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Throttle Valve 2 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Throttle.Valve2.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Throttle.Valve2.Preliminary.FMI",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Throttle Valve 2 by the manufacturers software.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Throttle.Valve2.Pos" : {
+                                       "generic_name": "Eng.Desired.Throttle.Valve2.Pos",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The desired position of the Throttle valve 2 that is regulating the fluid, usually air/fuel mixture to the engine as",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Throttle.Valve1.Temp.Status" : {
+                                       "generic_name": "Eng.Throttle.Valve1.Temp.Status",
+                                       "bit_position": 12,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Throttle Valve 1 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Throttle.Valve1.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Throttle.Valve1.Preliminary.FMI",
+                                       "bit_position": 7,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the appplicable J1939-73 FMI detected in the Engine Throttle Valve 1 by the manufacturers software.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Throttle.Valve1.Pos" : {
+                                       "generic_name": "Eng.Desired.Throttle.Valve1.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The desired position of the Throttle valve 1 that is regulating the fluid, usually air/fuel mixture to the engine as",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64767": {
+                       "comment": "Engine Temperature 5",
+                       "length": 8,
+                       "name": "ET5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrcltn2.Mxr.Intake.Temp" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Mxr.Intake.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The temperature of the EGR gas entering the intake of EGR2 system mixer.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Recirculation2.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Recirculation2.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of Recirculated Exhaust Gas of EGR2",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64776": {
+                       "comment": "Engine oil message",
+                       "length": 8,
+                       "name": "EOM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Oil.Relative.Dielectricity" : {
+                                       "generic_name": "Eng.Oil.Relative.Dielectricity",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0001220703125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7.844,
+                                       "comment": "Engine oil relative dielectricity used to describe the engine oil quality.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Density" : {
+                                       "generic_name": "Eng.Oil.Density",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.00003052,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1.961,
+                                       "comment": "Density of the engine oil",
+                                       "unit": "g/cc",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Viscosity" : {
+                                       "generic_name": "Eng.Oil.Viscosity",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.015625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1003.984375,
+                                       "comment": "Dynamic viscosity of the engine oil",
+                                       "unit": "Cp",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64763": {
+                       "comment": "Engine Manifold Actuator Position",
+                       "length": 8,
+                       "name": "EMAP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Mnfld.Bnk2.Flw.Blnc.Vlv.Acttr.Ps" : {
+                                       "generic_name": "Eng.Exhst.Mnfld.Bnk2.Flw.Blnc.Vlv.Acttr.Ps",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Actual percentage of maximum Engine Manifold Bank 2 Balance valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Mnfld.Bnk1.Flw.Blnc.Vlv.Acttr.Ps" : {
+                                       "generic_name": "Eng.Exhst.Mnfld.Bnk1.Flw.Blnc.Vlv.Acttr.Ps",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Actual percentage of maximum Engine Exhaust Manifold Bank 1 Balance valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MeansMaxValveOpening": [4]
+                                       }
+                               }
+                       }
+               },
+               "64764": {
+                       "comment": "Engine Manifold Actuator Control",
+                       "length": 8,
+                       "name": "EMAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Mnfld.Bnk2.Flw.Blnc.Vlv.Acttr.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Mnfld.Bnk2.Flw.Blnc.Vlv.Acttr.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Commanded percentage of maximum Engine Ehaust Manifold Bank 2 Balance valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MeansMaxValveOpening": [4]
+                                       }
+                               },
+                               "Eng.Exhst.Mnfld.Bnk1.Flw.Blnc.Vlv.Acttr.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Mnfld.Bnk1.Flw.Blnc.Vlv.Acttr.Ctrl",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Commanded percentage of maximum Engine Exhaust Manifold Bank 1 Balance valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64805": {
+                       "comment": "Extended Joystick Message 9",
+                       "length": 8,
+                       "name": "EJM9",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck9.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck9.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck9.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck9.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick9.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck9.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck9.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck9.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck9.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick9.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck9.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck9.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck9.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck9.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick9.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck9.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck9.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck9.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck9.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64807": {
+                       "comment": "Extended Joystick Message 8",
+                       "length": 8,
+                       "name": "EJM8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck8.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck8.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck8.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck8.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick8.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck8.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck8.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck8.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck8.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick8.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck8.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck8.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck8.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck8.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick8.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck8.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck8.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck8.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck8.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64809": {
+                       "comment": "Extended Joystick Message 7",
+                       "length": 8,
+                       "name": "EJM7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck7.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck7.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck7.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck7.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick7.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck7.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck7.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck7.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck7.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick7.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck7.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck7.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck7.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck7.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick7.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck7.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck7.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck7.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck7.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64811": {
+                       "comment": "Extended Joystick Message 6",
+                       "length": 8,
+                       "name": "EJM6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck6.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck6.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck6.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck6.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick6.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck6.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck6.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck6.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck6.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick6.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck6.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck6.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck6.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck6.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick6.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck6.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck6.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck6.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck6.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64813": {
+                       "comment": "Extended Joystick Message 5",
+                       "length": 8,
+                       "name": "EJM5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck5.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck5.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck5.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck5.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick5.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck5.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck5.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck5.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck5.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick5.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck5.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck5.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck5.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck5.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick5.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck5.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck5.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck5.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck5.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64815": {
+                       "comment": "Extended Joystick Message 4",
+                       "length": 8,
+                       "name": "EJM4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck4.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck4.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck4.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck4.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick4.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck4.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck4.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck4.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck4.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick4.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck4.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck4.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck4.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck4.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick4.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck4.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck4.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck4.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck4.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64803": {
+                       "comment": "Extended Joystick Message 10",
+                       "length": 8,
+                       "name": "EJM10",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck10.Grp.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck10.Grp.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Grp.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck10.Grp.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Thta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck10.Thta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick10.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck10.Tht.Axs.Clckws.Pstv.Ps.Sttus" : {
+                                       "generic_name": "Jystck10.Tht.Axs.Clckws.Pstv.Ps.Sttus",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck10.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Tht.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck10.Tht.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick10.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck10.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck10.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck10.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Stts",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Grp.YAxs.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck10.Grp.YAxs.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick10.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck10.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck10.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck10.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Stts",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.Grp.XAxs.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck10.Grp.XAxs.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64752": {
+                       "comment": "Engine Fuel/lube systems 2",
+                       "length": 8,
+                       "name": "EFS2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Filter.Intake.Abs.Press" : {
+                                       "generic_name": "Eng.Fuel.Filter.Intake.Abs.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Absolute pressure of fuel at the intake of the fuel filter (suction side) located between the fuel tank and the fuel supply",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64751": {
+                       "comment": "Engine Fluid/Pressure 11",
+                       "length": 8,
+                       "name": "EFL_P11",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrcltn1.Intke.Abs.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn1.Intke.Abs.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "EGR intake absolute pressure measured before the EGR 1 valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64768": {
+                       "comment": "Engine Fluid/Pressure 10",
+                       "length": 8,
+                       "name": "EFL_P10",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrcltn2.Intke.Abs.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Intke.Abs.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "EGR intake absolute pressure measured before the EGR 2 valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn2.Otlet.Abs.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Otlet.Abs.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Absolute Pressure immediately after the EGR2 valve",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltion2.Intake.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltion2.Intake.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "EGR2 intake gauge pressure is measured after EGR2 cooler and before EGR2 valve",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrculation2.Diff.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation2.Diff.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Differential Pressure across the Exhaust Gas Recirculation 2 (EGR2) system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64765": {
+                       "comment": "Electronic Engine Controller 9",
+                       "length": 8,
+                       "name": "EEC9",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cmded.Eng.Fuel.Injection.Ctrl.Press" : {
+                                       "generic_name": "Cmded.Eng.Fuel.Injection.Ctrl.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "Provides the commanded set point value for the engine fuel injection control pressure.",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cmded.Eng.Fuel.Rail.Press" : {
+                                       "generic_name": "Cmded.Eng.Fuel.Rail.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "Provides the commanded set point value for the engine fuel rail pressure",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrculation2.Valve2.Pos" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation2.Valve2.Pos",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The position of the second exhaust gas recirculation valve of EGR 2 expressed as a percentage of full travel.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcirculation2.Valve.Pos" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcirculation2.Valve.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Position of EGR2 valve expressed as a percentage of full travel.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64762": {
+                       "comment": "Electronic Engine Controller 11",
+                       "length": 8,
+                       "name": "EEC11",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrclation2.Valve2.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrclation2.Valve2.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Desired percentage of maximum Exhaust Gas Recirculation 2 (EGR2) valve 2 opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MeansMaxOpening": [4]
+                                       }
+                               },
+                               "Eng.Exhst.Gs.Rcrculation2.Valve.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation2.Valve.Ctrl",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Desired percentage of maximum Exhaust Gas Recirculation 2 (EGR2) valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MeansMaxOpening": [4]
+                                       }
+                               }
+                       }
+               },
+               "64766": {
+                       "comment": "Electronic Engine Controller 10",
+                       "length": 8,
+                       "name": "EEC10",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "E.GR2.Cooler.Bypass.Actuator.Pos" : {
+                                       "generic_name": "E.GR2.Cooler.Bypass.Actuator.Pos",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "EGR2 Cooler Bypass Actuator position, where 0% = Fully Closed (no gas flowing through the bypass), and 100% = Fully",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn2.Clr.Efficiency" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Clr.Efficiency",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Exhaust Gas Recirculation 2 cooler efficiency is an indication of the cooler's ability to reduce the temperature of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn2.Clr.Intk.Gs.Abs.Prss" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Clr.Intk.Gs.Abs.Prss",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Exhaust Gas Recirculation 2 gas absolute pressure is measured at EGR2 cooler intake.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn2.Clr.Intake.Temp" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn2.Clr.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Exhaust Gas Recirculation 2 (EGR2) Temperature measured at EGR2 cooler intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64743": {
+                       "comment": "Engine Configuration 3",
+                       "length": 8,
+                       "name": "EC3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point7" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point7",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 7 (SPN 533) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point6" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point6",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "For engine configuration map modes 1 and 2, this is the static portion of the friction torque at speed point 6 (SPN 532) of",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point5" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point5",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 5 (SPN 531) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point4" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point4",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 4 (SPN 530) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point3" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point3",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 3 (SPN 529) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point2" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 2 (SPN 528) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Frctn.Prcnt.Torque.At.Idle.Point1" : {
+                                       "generic_name": "Eng.Frctn.Prcnt.Torque.At.Idle.Point1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The static portion of the friction torque at speed point 1 (SPN 188) of the engine torque map in the engine configuration",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64892": {
+                       "comment": "Diesel Particulate Filter Control 1",
+                       "length": 8,
+                       "name": "DPFC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Frcd.Stts" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Frcd.Stts",
+                                       "bit_position": 52,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Indicates the forced execution status of diesel particulate filter regeneration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "ActiveForcedBySwitch": [1],
+                                               "ActiveForcedByServiceTool": [2],
+                                               "ReservedForSAEAssignment": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Exhaust.System.High.Temp.Lamp.Cmd" : {
+                                       "generic_name": "Exhaust.System.High.Temp.Lamp.Cmd",
+                                       "bit_position": 49,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Command to control the exhaust system high temperature lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "OnSolid": [1],
+                                               "reservedForSAEAssignment": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Atmtc.Actv.Rgnrtn.Inttn.Cnfg" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Atmtc.Actv.Rgnrtn.Inttn.Cnfg",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the configuration of diesel particulate filter active regeneration automatic initiation.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notEnabled": [0],
+                                               "enabled": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTVhcl.Spd.Blw.Allwd" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTVhcl.Spd.Blw.Allwd",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Speed",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTEng.Nt.Wrmd.Up" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTEng.Nt.Wrmd.Up",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the engine not being warmed up.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPrmnnt.Systm.Lckt" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPrmnnt.Systm.Lckt",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to a permanent system lockout.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTTmprry.Systm.Lckt" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTTmprry.Systm.Lckt",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to a temporary system lockout.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSystm.Tmt" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSystm.Tmt",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to a system timeout.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSystm.Flt.Actv" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSystm.Flt.Actv",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to a system fault being active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTLw.Exhst.Gs.Tmp" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTLw.Exhst.Gs.Tmp",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the exhaust gas temperature being too",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPrkng.Brk.Nt.St" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPrkng.Brk.Nt.St",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the parking brake being not set.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTVhcl.Spd.Abv.Allwd" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTVhcl.Spd.Abv.Allwd",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Speed",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTOt.Of.Ntrl" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTOt.Of.Ntrl",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the transmission being out of neutral.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTAccl.Pdl.Off.Idl" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTAccl.Pdl.Off.Idl",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the accelerator pedal being off idle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPTOActv" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTPTOActv",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the PTO being active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSrvc.Brk.Actv" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTSrvc.Brk.Actv",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the service brake being active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTCltch.Dsnggd" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTCltch.Dsnggd",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the clutch being disengaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTInhbt.Swtch" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.DTInhbt.Swtch",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition due to the Diesel Particulate Filter Regeneration",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.Stts" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtn.Inhbtd.Stts",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration inhibition.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notInhibited": [0],
+                                               "inhibited": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Diesel.Particulate.Filter.Status" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Indicates the state of the diesel particulate filter regeneration need and urgency.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RegenerationNotNeeded": [0],
+                                               "RegenerationNeededLowestLevel": [1],
+                                               "RegenerationNeededModerateLevel": [2],
+                                               "RegenerationNeededHighestLevel": [3],
+                                               "reservedForSAEAssignment": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Actv.Rgnrtion.Status" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Actv.Rgnrtion.Status",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter active regeneration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "rgnrtnNddAtmtcllyInttdActvRgnrt": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Pssv.Rgnrtion.Status" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Pssv.Rgnrtion.Status",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of diesel particulate filter passive regeneration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Diesel.Particulate.Filter.Lamp.Cmd" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Lamp.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Command to control the diesel particulate filter lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "OnSolid": [1],
+                                               "OnFastBlink": [4],
+                                               "reservedForSAEAssignment": [6],
+                                               "notAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "64760": {
+                       "comment": "Diesel Particulate Filter 2 Soot 2",
+                       "length": 8,
+                       "name": "DPF2S2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclate.Filter2.Soot.Signal.Min" : {
+                                       "generic_name": "Dsl.Prtclate.Filter2.Soot.Signal.Min",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Minimum output signal level of the current soot measurement from diesel particulate filter 2 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclate.Filter2.Soot.Signal.Max" : {
+                                       "generic_name": "Dsl.Prtclate.Filter2.Soot.Signal.Max",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Maximum output signal level of the current soot measurement from diesel particulate filter 2 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Fltr2.St.Sgnl.Stndrd.Dvton" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr2.St.Sgnl.Stndrd.Dvton",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Standard deviation of the soot measurement from diesel particulate filter 2 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64795": {
+                       "comment": "Diesel Particulate Filter 2 Soot",
+                       "length": 8,
+                       "name": "DPF2S",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclt.Fltr2.St.Snsr.Prlmnary.FMI" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr2.St.Snsr.Prlmnary.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the soot sensor signal by the manufacturer's sensor control",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Flter2.Median.Soot.Signal" : {
+                                       "generic_name": "Dsl.Prtclt.Flter2.Median.Soot.Signal",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Median output signal level from diesel particulate filter 2 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclte.Filter2.Mean.Soot.Signal" : {
+                                       "generic_name": "Dsl.Prtclte.Filter2.Mean.Soot.Signal",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Mean output signal level from diesel particulate filter 2 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prticulate.Filter2.Soot.Density" : {
+                                       "generic_name": "Dsl.Prticulate.Filter2.Soot.Density",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.08,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 20,
+                                       "comment": "Soot density in diesel particulate filter 2.",
+                                       "unit": "g/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Desel.Particulate.Filter2.Soot.Mass" : {
+                                       "generic_name": "Desel.Particulate.Filter2.Soot.Mass",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Soot mass in diesel particulate filter 2.",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64761": {
+                       "comment": "Diesel Particulate Filter 1 Soot 2",
+                       "length": 8,
+                       "name": "DPF1S2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclate.Filter1.Soot.Signal.Min" : {
+                                       "generic_name": "Dsl.Prtclate.Filter1.Soot.Signal.Min",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Minimum output signal level of the current soot measurement from diesel particulate filter 1 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclate.Filter1.Soot.Signal.Max" : {
+                                       "generic_name": "Dsl.Prtclate.Filter1.Soot.Signal.Max",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Maximum output signal level of the current soot measurement from diesel particulate filter 1 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Fltr1.St.Sgnl.Stndrd.Dvton" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr1.St.Sgnl.Stndrd.Dvton",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Standard deviation of the soot measurement from diesel particulate filter 1 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64796": {
+                       "comment": "Diesel Particulate Filter 1 Soot",
+                       "length": 8,
+                       "name": "DPF1S",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclt.Fltr1.St.Snsr.Prlmnary.FMI" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr1.St.Snsr.Prlmnary.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the soot sensor signal by the manufacturer's sensor control",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Flter1.Median.Soot.Signal" : {
+                                       "generic_name": "Dsl.Prtclt.Flter1.Median.Soot.Signal",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Median output signal level from diesel particulate filter 1 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclte.Filter1.Mean.Soot.Signal" : {
+                                       "generic_name": "Dsl.Prtclte.Filter1.Mean.Soot.Signal",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Mean output signal level from diesel particulate filter 1 soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prticulate.Filter1.Soot.Density" : {
+                                       "generic_name": "Dsl.Prticulate.Filter1.Soot.Density",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.08,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 20,
+                                       "comment": "Soot density in diesel particulate filter 1.",
+                                       "unit": "g/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Desel.Particulate.Filter1.Soot.Mass" : {
+                                       "generic_name": "Desel.Particulate.Filter1.Soot.Mass",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Soot mass in diesel particulate filter 1.",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64772": {
+                       "comment": "Direct Lamp Control Data 2",
+                       "length": 8,
+                       "name": "DLCD2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Battery.Charging.Lamp.Data" : {
+                                       "generic_name": "Vehicle.Battery.Charging.Lamp.Data",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Vehicle Battery Charging Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vhicle.HVACRecirculation.Lamp.Data" : {
+                                       "generic_name": "Vhicle.HVACRecirculation.Lamp.Data",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Vehicle HVAC Recirculation Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Air.Press.Low.Lamp.Data" : {
+                                       "generic_name": "Vehicle.Air.Press.Low.Lamp.Data",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Vehicle Air Pressure Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Fuel.Level.Low.Lamp.Data" : {
+                                       "generic_name": "Vehicle.Fuel.Level.Low.Lamp.Data",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from theVehicle Fuel Level Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vhicle.Battery.Voltage.Low.Lamp.Data" : {
+                                       "generic_name": "Vhicle.Battery.Voltage.Low.Lamp.Data",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Vehicle Battery Voltage Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64773": {
+                       "comment": "Direct Lamp Control Data 1",
+                       "length": 8,
+                       "name": "DLCD1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Wait.To.Start.Lamp.Data" : {
+                                       "generic_name": "Eng.Wait.To.Start.Lamp.Data",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Wait To Start Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactive": [0],
+                                               "LampActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Filter.Restricted.Lamp.Data" : {
+                                       "generic_name": "Eng.Fuel.Filter.Restricted.Lamp.Data",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Fuel Filter Restricted Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Air.Filter.Restriction.Lamp.Data" : {
+                                       "generic_name": "Eng.Air.Filter.Restriction.Lamp.Data",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Air Filter Restriction Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Management.Active.Lamp.Data" : {
+                                       "generic_name": "Eng.Idle.Management.Active.Lamp.Data",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Idle Management Active Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Level.Low.Lamp.Data" : {
+                                       "generic_name": "Eng.Coolant.Level.Low.Lamp.Data",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Coolant Level Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Temp.High.Lamp.Data" : {
+                                       "generic_name": "Eng.Coolant.Temp.High.Lamp.Data",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Coolant Temperature High Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Oil.Press.Low.Lamp.Data" : {
+                                       "generic_name": "Eng.Oil.Press.Low.Lamp.Data",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Oil Pressure Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cmprssn.Brk.Enbl.Swtch.Indctr.Lmp.Dta" : {
+                                       "generic_name": "Cmprssn.Brk.Enbl.Swtch.Indctr.Lmp.Dta",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Compression Brake Enable Switch Indicator Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Brake.Active.Lamp.Data" : {
+                                       "generic_name": "Eng.Brake.Active.Lamp.Data",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Brake Active Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "O.BDMalfunction.Indicator.Lamp.Data" : {
+                                       "generic_name": "O.BDMalfunction.Indicator.Lamp.Data",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the OBD Malfunction Indicator Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Red.Stop.Lamp.Data" : {
+                                       "generic_name": "Eng.Red.Stop.Lamp.Data",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Red Stop Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Amber.Warning.Lamp.Data" : {
+                                       "generic_name": "Eng.Amber.Warning.Lamp.Data",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Amber Warning Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Protect.Lamp.Data" : {
+                                       "generic_name": "Eng.Protect.Lamp.Data",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the Engine Protect Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampDeactivated": [0],
+                                               "LampActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64774": {
+                       "comment": "Direct Lamp Control Command 2",
+                       "length": 8,
+                       "name": "DLCC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Battery.Charging.Lamp.Cmd" : {
+                                       "generic_name": "Vehicle.Battery.Charging.Lamp.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Battery Charging Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.HVACRecirculation.Lamp.Cmd" : {
+                                       "generic_name": "Vehicle.HVACRecirculation.Lamp.Cmd",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle HVAC Recirculation Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Air.Press.Low.Lamp.Cmd" : {
+                                       "generic_name": "Vehicle.Air.Press.Low.Lamp.Cmd",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Air Pressure Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Fuel.Level.Low.Lamp.Cmd" : {
+                                       "generic_name": "Vehicle.Fuel.Level.Low.Lamp.Cmd",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Fuel Level Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Battery.Voltage.Low.Lamp.Cmd" : {
+                                       "generic_name": "Vehicle.Battery.Voltage.Low.Lamp.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Battery Voltage Low Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "41726": {
+                       "comment": "DM32 provides the DTCs and associated timers",
+                       "length": 8,
+                       "name": "DM32",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "D.TCTime.Until.Derate" : {
+                                       "generic_name": "D.TCTime.Until.Derate",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "This timer provides the number of hours the malfunction has until the OBD required derate will occur",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "D.TCTotal.Previously.Active.Time" : {
+                                       "generic_name": "D.TCTotal.Previously.Active.Time",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12851,
+                                       "comment": "This timer provides the number of hours the NOx malfunction has been confirmed and previously active",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "D.TCTotal.Active.Time" : {
+                                       "generic_name": "D.TCTotal.Active.Time",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12851,
+                                       "comment": "This timer provides the total number of hours the DTC has been confirmed and active",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Failure.Mode.Identifier1" : {
+                                       "generic_name": "Failure.Mode.Identifier1",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "The FMI defines the type of failure detected in the subsystem identified by an SPN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Above normal (most severe)": [0],
+                                               "Below normal (most severe)": [1],
+                                               "Data erratic": [2],
+                                               "Voltage above normal": [3],
+                                               "Voltage below normal": [4],
+                                               "Current below normal": [5],
+                                               "Current above normal": [6],
+                                               "Mechanical system not responding": [7],
+                                               "Abnormal frequency": [8],
+                                               "Abnormal update rate": [9],
+                                               "Abnormal rate of change": [10],
+                                               "Root cause not known": [11],
+                                               "Bad intelligent device": [12],
+                                               "Out of calibration": [13],
+                                               "Special intstructions": [14],
+                                               "Above normal (least severe)": [15],
+                                               "Above normal (moderately severe)": [16],
+                                               "Below normal (least severe)": [17],
+                                               "Below normal (moderately severe)": [18],
+                                               "Received network data in error": [19],
+                                               "Not available": [31]
+                                       }
+                               },
+                               "S.PN1.High" : {
+                                       "generic_name": "S.PN1.High",
+                                       "bit_position": 20,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "SPN1" : {
+                                       "generic_name": "SPN1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65536,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "43262": {
+                       "comment": "Text Display",
+                       "length": 8,
+                       "name": "DISP1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Text.Display.Index" : {
+                                       "generic_name": "Text.Display.Index",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Text.Display.Instructions" : {
+                                       "generic_name": "Text.Display.Instructions",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter describes the status for the display how to show the information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ClrDsplyDsplydInfrmtnShldBDltdN": [0],
+                                               "HldDsplyPrsntlyDsplydInfrmtnShl": [1],
+                                               "AppndAtEndOfDsplyTrnsmttdInfrmt": [2],
+                                               "OvrwrtDsplyPrsntlyDsplydInfrmtn": [3],
+                                               "OvrwrtSbstrngAPrtnOfPrsntlyDspl": [4],
+                                               "HighlightSubstring": [5],
+                                               "BlinkSubstring": [6],
+                                               "1110Reserved": [7],
+                                               "NotApplicable": [15]
+                                       }
+                               }
+                       }
+               },
+               "64880": {
+                       "comment": "Door ramp control",
+                       "length": 8,
+                       "name": "DRC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Retract.Status.Of.Ramp5" : {
+                                       "generic_name": "Retract.Status.Of.Ramp5",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retract status of ramp at doorway 5, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampRetracted": [0],
+                                               "rampEx": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Retract.Status.Of.Ramp4" : {
+                                       "generic_name": "Retract.Status.Of.Ramp4",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retract status of ramp at doorway 4, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampRetracted": [0],
+                                               "rampEx": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Movement.Status.Of.Ramp5" : {
+                                       "generic_name": "Movement.Status.Of.Ramp5",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Movement status of ramp at doorway 5, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampNotBeingMoved": [0],
+                                               "rampBeingMoved": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Movement.Status.Of.Ramp4" : {
+                                       "generic_name": "Movement.Status.Of.Ramp4",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Movement status of ramp at doorway 4, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampNotBeingMoved": [0],
+                                               "rampBeingMoved": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Ramp5" : {
+                                       "generic_name": "Enable.Status.Of.Ramp5",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of ramp at doorway 5, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampDisabled": [0],
+                                               "rampEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Ramp4" : {
+                                       "generic_name": "Enable.Status.Of.Ramp4",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of ramp at doorway 4, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampDisabled": [0],
+                                               "rampEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Movement.Status.Of.Ramp3" : {
+                                       "generic_name": "Movement.Status.Of.Ramp3",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Movement status of ramp at doorway 3, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampNotBeingMoved": [0],
+                                               "rampBeingMoved": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Ramp3" : {
+                                       "generic_name": "Enable.Status.Of.Ramp3",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of ramp at doorway 3, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampDisabled": [0],
+                                               "rampEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Retract.Status.Of.Ramp3" : {
+                                       "generic_name": "Retract.Status.Of.Ramp3",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retract status of ramp at doorway 3, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampRetracted": [0],
+                                               "rampEx": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Movement.Status.Of.Ramp2" : {
+                                       "generic_name": "Movement.Status.Of.Ramp2",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Movement status of ramp at doorway 2, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampNotBeingMoved": [0],
+                                               "rampBeingMoved": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Ramp2" : {
+                                       "generic_name": "Enable.Status.Of.Ramp2",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of ramp at doorway 2, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampDisabled": [0],
+                                               "rampEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Retract.Status.Of.Ramp2" : {
+                                       "generic_name": "Retract.Status.Of.Ramp2",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retract status of ramp at doorway 2, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampRetracted": [0],
+                                               "rampEx": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Movement.Status.Of.Ramp1" : {
+                                       "generic_name": "Movement.Status.Of.Ramp1",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Movement status of ramp at doorway 1, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampNotBeingMoved": [0],
+                                               "rampBeingMoved": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Ramp1" : {
+                                       "generic_name": "Enable.Status.Of.Ramp1",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of ramp at doorway 1, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampDisabled": [0],
+                                               "rampEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Retract.Status.Of.Ramp1" : {
+                                       "generic_name": "Retract.Status.Of.Ramp1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retract status of ramp at doorway 1, counting from front to back on the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rampRetracted": [0],
+                                               "rampEx": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64895": {
+                       "comment": "Engine Configuration 2",
+                       "length": 8,
+                       "name": "EC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Max.Crank.Attempts.Per.Start.Attempt" : {
+                                       "generic_name": "Max.Crank.Attempts.Per.Start.Attempt",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The number of cranking cycles that will be performed before ending the start attempt.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64916": {
+                       "comment": "Electronic Engine Controller 7",
+                       "length": 8,
+                       "name": "EEC7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrculation1.Valve2.Pos" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation1.Valve2.Pos",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The position of the second exhaust gas recirculation valve expressed as a percentage of full travel.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcirculation1.Valve.Pos" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcirculation1.Valve.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The position of the exhaust gas recirculation valve expressed as a percentage of full travel.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Crnkcs.Brthr.Oil.Separator.Speed" : {
+                                       "generic_name": "Eng.Crnkcs.Brthr.Oil.Separator.Speed",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The speed of a rotating (centrifugal) crankcase oil separator.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cmded.Eng.Intake.Manifold.Press" : {
+                                       "generic_name": "Cmded.Eng.Intake.Manifold.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Provides the commanded set point value for the engine intake manifold pressure.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64879": {
+                       "comment": "Electronic Engine Controller 8",
+                       "length": 8,
+                       "name": "EEC8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrcltn1.Clr.Intk.Gs.Abs.Prss" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn1.Clr.Intk.Gs.Abs.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Exhaust Gas Recirculation gas absolute pressure is measured at the EGR cooler intake.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn1.Clr.Intake.Temp" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn1.Clr.Intake.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Exhaust Gas Recirculation (EGR) Temperature measured at the EGR cooler intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn1.Clr.Efficiency" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn1.Clr.Efficiency",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Exhaust Gas Recirculation cooler efficiency is an indication of the cooler's ability to reduce the temperature of the exhaust",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrclation1.Valve2.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrclation1.Valve2.Ctrl",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Desired percentage of maximum Exhaust Gas Recirculation (EGR) valve opening for valve 2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MeansMaxValveOpening": [4]
+                                       }
+                               }
+                       }
+               },
+               "64904": {
+                       "comment": "Engine Fluid Level/Pressure 5",
+                       "length": 8,
+                       "name": "EFL_P5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl4" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl4",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #4.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl3" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl3",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #3.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl2" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl1" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64903": {
+                       "comment": "Engine Fluid Level/Pressure 6",
+                       "length": 8,
+                       "name": "EFL_P6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl8" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl8",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #8.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl7" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl7",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #7.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl6" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl6",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #6.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl5" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl5",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #5.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64902": {
+                       "comment": "Engine Fluid Level/Pressure 7",
+                       "length": 8,
+                       "name": "EFL_P7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl12" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl12",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #12.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl11" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl11",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #11.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl10" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl10",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #10.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl9" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actton.Oil.Press.For.Cyl9",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #9.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64901": {
+                       "comment": "Engine Fluid Level/Pressure 8",
+                       "length": 8,
+                       "name": "EFL_P8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl16" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl16",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #16.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl15" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl15",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #15.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl14" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl14",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #14.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl13" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl13",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #13.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64900": {
+                       "comment": "Engine Fluid Level/Pressure 9",
+                       "length": 8,
+                       "name": "EFL_P9",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl20" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl20",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #20.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl19" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl19",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #19.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl18" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl18",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #18.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl17" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttn.Oil.Press.For.Cyl17",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The gage pressure of the oil in the hydraulic accumulator that powers the engine intake valve for cylinder #17.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64897": {
+                       "comment": "EGR Cooler Bypass",
+                       "length": 8,
+                       "name": "EGRBV",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "E.GR1.Cooler.Bypass.Actuator.Postion" : {
+                                       "generic_name": "E.GR1.Cooler.Bypass.Actuator.Postion",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The parameter gives the % open of the EGR Cooler Bypass Actuator, where 0% = Fully Closed (no gas flowing through",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64887": {
+                       "comment": "Engine Spark Voltage 1",
+                       "length": 8,
+                       "name": "ESV1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug4" : {
+                                       "generic_name": "Eng.Spark.Plug4",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #4",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug3" : {
+                                       "generic_name": "Eng.Spark.Plug3",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #3",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug2" : {
+                                       "generic_name": "Eng.Spark.Plug2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #2",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug1" : {
+                                       "generic_name": "Eng.Spark.Plug1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #1",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64886": {
+                       "comment": "Engine Spark Voltage 2",
+                       "length": 8,
+                       "name": "ESV2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug8" : {
+                                       "generic_name": "Eng.Spark.Plug8",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #8",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug7" : {
+                                       "generic_name": "Eng.Spark.Plug7",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #7",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug6" : {
+                                       "generic_name": "Eng.Spark.Plug6",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #6",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug5" : {
+                                       "generic_name": "Eng.Spark.Plug5",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #5",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64885": {
+                       "comment": "Engine Spark Voltage 3",
+                       "length": 8,
+                       "name": "ESV3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug12" : {
+                                       "generic_name": "Eng.Spark.Plug12",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #12",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug11" : {
+                                       "generic_name": "Eng.Spark.Plug11",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #11",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug10" : {
+                                       "generic_name": "Eng.Spark.Plug10",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #10",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug9" : {
+                                       "generic_name": "Eng.Spark.Plug9",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #9",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64884": {
+                       "comment": "Engine Spark Voltage 4",
+                       "length": 8,
+                       "name": "ESV4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug16" : {
+                                       "generic_name": "Eng.Spark.Plug16",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #16",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug15" : {
+                                       "generic_name": "Eng.Spark.Plug15",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #15",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug14" : {
+                                       "generic_name": "Eng.Spark.Plug14",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #14",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug13" : {
+                                       "generic_name": "Eng.Spark.Plug13",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #13",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64883": {
+                       "comment": "Engine Spark Voltage 5",
+                       "length": 8,
+                       "name": "ESV5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug20" : {
+                                       "generic_name": "Eng.Spark.Plug20",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #20",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug19" : {
+                                       "generic_name": "Eng.Spark.Plug19",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #19",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug18" : {
+                                       "generic_name": "Eng.Spark.Plug18",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #18",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug17" : {
+                                       "generic_name": "Eng.Spark.Plug17",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #17",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64882": {
+                       "comment": "Engine Spark Voltage 6",
+                       "length": 8,
+                       "name": "ESV6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spark.Plug24" : {
+                                       "generic_name": "Eng.Spark.Plug24",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #24",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug23" : {
+                                       "generic_name": "Eng.Spark.Plug23",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #23",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug22" : {
+                                       "generic_name": "Eng.Spark.Plug22",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #22",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Spark.Plug21" : {
+                                       "generic_name": "Eng.Spark.Plug21",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The measured voltage of the spark event on Cylinder #21",
+                                       "unit": "Volts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "43518": {
+                       "comment": "Forward Lane Image Command",
+                       "length": 8,
+                       "name": "FLIC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Lane.Departure.Warning.Enable.Cmd" : {
+                                       "generic_name": "Lane.Departure.Warning.Enable.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to enable/disable Lane Departure Indication",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisableLaneDepartureWarning": [0],
+                                               "EnableLaneDepartureWarning": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               }
+                       }
+               },
+               "64906": {
+                       "comment": "SAE J2012 DTC Display",
+                       "length": 8,
+                       "name": "J2012",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "J2012.DTCOccurrence.Count" : {
+                                       "generic_name": "J2012.DTCOccurrence.Count",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "Number of occurrences of the respective SAE J2012 DTC being conveyed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "J2012.DTCStatus" : {
+                                       "generic_name": "J2012.DTCStatus",
+                                       "bit_position": 47,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Indicates if the respective SAE J2012 DTC is active or previously active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DTCIsPreviouslyActive": [0],
+                                               "DTCIsActive": [1]
+                                       }
+                               },
+                               "Number.Of.J2012.DTCs" : {
+                                       "generic_name": "Number.Of.J2012.DTCs",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The number J2012 DTCs being conveyed in PGN 64906.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61469": {
+                       "comment": "Steering Angle Sensor Information",
+                       "length": 8,
+                       "name": "SAS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Message.Checksum" : {
+                                       "generic_name": "Message.Checksum",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The message checksum is used to verify the signal path from the demanding device to the steering controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Message.Counter" : {
+                                       "generic_name": "Message.Counter",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The message counter is to verify the signal path from the demanding device to the steering controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Steer.Angle.Sensor.Calibrated" : {
+                                       "generic_name": "Steer.Angle.Sensor.Calibrated",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the calibration status of the steering angle sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SASNotCalibrated": [0],
+                                               "SASCalibrated": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Steer.Angle.Sensor.Active.Mode" : {
+                                       "generic_name": "Steer.Angle.Sensor.Active.Mode",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the operational mode of the steering angle sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ProgrammingModeActive": [0],
+                                               "NormalModeActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Steer.Wheel.Angle.Range" : {
+                                       "generic_name": "Steer.Wheel.Angle.Range",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0009765625,
+                                       "offset": -31.374,
+                                       "min_value": -31.374,
+                                       "max_value": 31.374,
+                                       "comment": "The signal indicates the range of the steering wheel angle the sensor element is capable to measure.",
+                                       "unit": "rad",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Steer.Wheel.Angle.Range.Counter.Type" : {
+                                       "generic_name": "Steer.Wheel.Angle.Range.Counter.Type",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The signal indicates whether the steering wheel angle sensor is capable of absolute measuring of the number of steering",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RelativeNumberOfCounts": [0],
+                                               "AbsNumberOfCounts": [1],
+                                               "NotDefined": [2],
+                                               "SignalNotAvailable": [3]
+                                       }
+                               },
+                               "Steer.Wheel.Angle.Range.Counter" : {
+                                       "generic_name": "Steer.Wheel.Angle.Range.Counter",
+                                       "bit_position": 15,
+                                       "bit_size": 6,
+                                       "factor": 1,
+                                       "offset": -32,
+                                       "min_value": -32,
+                                       "max_value": 29,
+                                       "comment": "The signal indicates the number of steering wheel angle range overflows if the operating range of steering wheel is",
+                                       "unit": "ranges",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Steer.Wheel.Angle" : {
+                                       "generic_name": "Steer.Wheel.Angle",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0009765625,
+                                       "offset": -31.374,
+                                       "min_value": -31.374,
+                                       "max_value": 31.374,
+                                       "comment": "The main operator`s steering wheel angle (on the steering column, not the actual wheel angle).",
+                                       "unit": "rad",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64878": {
+                       "comment": "Aftertreatment 1 SCR Service Information",
+                       "length": 8,
+                       "name": "SCR1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Cnvrsn.Effcncy" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Cnvrsn.Effcncy",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The SCR catalyst conversion efficiency percentage.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCmdd.Ctlyst.Rgnt.Cnsmptn" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCmdd.Ctlyst.Rgnt.Cnsmptn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "This parameter transmits the amount of reagent that the emissions control system has requested to be used, averaged",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRAvrg.Ctlyst.Rgnt.Cnsmptn" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRAvrg.Ctlyst.Rgnt.Cnsmptn",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Measured use of reagent by a Selective Catalytic Reduction system for exhaust emission control, averaged over the",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Exhst.Fld.Tnk.Lw.Lvl.Indctr.Trvld.Dstnc" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Exhst.Fld.Tnk.Lw.Lvl.Indctr.Trvld.Dstnc",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The distance traveled while diesel exhaust fluid is low/empty or driver warning/inducement strategy is active.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64899": {
+                       "comment": "Transfer Case Information",
+                       "length": 8,
+                       "name": "TCI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Transfer.Case.Status" : {
+                                       "generic_name": "Transfer.Case.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter describes the feedback from the transfer case controller .",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "WheelHigh": [1],
+                                               "neutral": [2],
+                                               "WheelLow": [4],
+                                               "TrnsfrCsShftInPrgrssGrNtCnfrmed": [5],
+                                               "error": [6],
+                                               "notAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "64917": {
+                       "comment": "Transmission Fluids 2",
+                       "length": 8,
+                       "name": "TRF2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trns.Trque.Converter.Oil.Outlet.Temp" : {
+                                       "generic_name": "Trns.Trque.Converter.Oil.Outlet.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of transmission torque converter outlet oil.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Overheat.Indicator" : {
+                                       "generic_name": "Trans.Overheat.Indicator",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal from transmission indicating that its fluid temperature is above normal acceptable limits, and as a result,",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransOverheatIndicatorIsOff": [0],
+                                               "TrnsOvrhtIndctrIsOnContinuously": [1],
+                                               "TrnsOverheatIndicatorIsFlashing": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Oil.Life.Remaining" : {
+                                       "generic_name": "Trans.Oil.Life.Remaining",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Signal which indicates the actual oil life remaining in percent.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Oil.Level.Switch" : {
+                                       "generic_name": "Trans.Oil.Level.Switch",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This switch indicates whether transmission oil level is full or empty.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "FullNotEmpty": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Oil.Filter.Restriction.Switch" : {
+                                       "generic_name": "Trans.Oil.Filter.Restriction.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This switch indicates whether the transmission oil filter is clogged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoRestriction": [0],
+                                               "RestrictionExistsOnOilFilter": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64905": {
+                       "comment": "Vehicle Direction/Speed 2",
+                       "length": 8,
+                       "name": "VDS2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Roll" : {
+                                       "generic_name": "Vehicle.Roll",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "This parameter indicates the roll in degrees from level.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65207": {
+                       "comment": "Engine Speed/Load Factor Information",
+                       "length": 10,
+                       "name": "LF",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Eng.Cruise.Time" : {
+                                       "generic_name": "Total.Eng.Cruise.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time that the engine has operated in the cruise hold state, excluding time in accelerator override, over the life of the engine.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Drive.Average.Load.Factor" : {
+                                       "generic_name": "Total.Drive.Average.Load.Factor",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Average engine load factor while engine speed is greater than zero, vehicle speed is greater than or equal to 2 km/h, and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Drive.Average.Load.Factor" : {
+                                       "generic_name": "Trip.Drive.Average.Load.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Average engine load factor while engine speed is greater than zero, vehicle speed is greater than or equal to 2 km/h, and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Average.Eng.Speed" : {
+                                       "generic_name": "Trip.Average.Eng.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Average speed of the engine since the last trip reset.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Max.Eng.Speed" : {
+                                       "generic_name": "Trip.Max.Eng.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Maximum engine speed achieved since the last trip reset.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65088": {
+                       "comment": "Lighting Data",
+                       "length": 8,
+                       "name": "LD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Implement.Rear.Work.Light" : {
+                                       "generic_name": "Implement.Rear.Work.Light",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the implement rear work lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Left.Forward.Work.Light" : {
+                                       "generic_name": "Implement.Left.Forward.Work.Light",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the forward facing work lights toward the left end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Right.Forward.Work.Light" : {
+                                       "generic_name": "Implement.Right.Forward.Work.Light",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the forward facing work lights toward the right end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Left.Facing.Work.Light" : {
+                                       "generic_name": "Implement.Left.Facing.Work.Light",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the work lights mounted on an implement to illuminate beyond left end of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Right.Facing.Work.Light" : {
+                                       "generic_name": "Implement.Right.Facing.Work.Light",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the work lights mounted on an implement to illuminate beyond right end of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.OEMOption1.Light" : {
+                                       "generic_name": "Implement.OEMOption1.Light",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the implement OEM option 1 light.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.OEMOption2.Light" : {
+                                       "generic_name": "Implement.OEMOption2.Light",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the implement OEM option 2 light.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trctr.Front.High.Mounted.Work.Lights" : {
+                                       "generic_name": "Trctr.Front.High.Mounted.Work.Lights",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor front high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trctor.Front.Low.Mounted.Work.Lights" : {
+                                       "generic_name": "Trctor.Front.Low.Mounted.Work.Lights",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor front low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trctor.Side.High.Mounted.Work.Lights" : {
+                                       "generic_name": "Trctor.Side.High.Mounted.Work.Lights",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor side high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tractor.Side.Low.Mounted.Work.Lights" : {
+                                       "generic_name": "Tractor.Side.Low.Mounted.Work.Lights",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor side low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trctor.Rear.High.Mounted.Work.Lights" : {
+                                       "generic_name": "Trctor.Rear.High.Mounted.Work.Lights",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor rear high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tractor.Rear.Low.Mounted.Work.Lights" : {
+                                       "generic_name": "Tractor.Rear.Low.Mounted.Work.Lights",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor rear low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trctr.Underside.Mounted.Work.Lights" : {
+                                       "generic_name": "Trctr.Underside.Mounted.Work.Lights",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor underside mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Rear.Fog.Lights" : {
+                                       "generic_name": "Rear.Fog.Lights",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and/or implement rear fog lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tractor.Marker.Light" : {
+                                       "generic_name": "Tractor.Marker.Light",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement marker lights, including front position",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Marker.Light" : {
+                                       "generic_name": "Implement.Marker.Light",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from an attached implement marker lights, including front position lights, rear tail",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tractor.Clearance.Light" : {
+                                       "generic_name": "Tractor.Clearance.Light",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor high mounted clearance and center ID lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Implement.Clearance.Light" : {
+                                       "generic_name": "Implement.Clearance.Light",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from an attached implement high mounted clearance lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Left.Stop.Light" : {
+                                       "generic_name": "Left.Stop.Light",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement left stop lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Right.Stop.Light" : {
+                                       "generic_name": "Right.Stop.Light",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement right stop lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Center.Stop.Light" : {
+                                       "generic_name": "Center.Stop.Light",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement center stop lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Back.Up.Light.And.Alarm.Horn" : {
+                                       "generic_name": "Back.Up.Light.And.Alarm.Horn",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the back up lights and/ or associated alarm.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Left.Turn.Signal.Lights" : {
+                                       "generic_name": "Left.Turn.Signal.Lights",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement left turn signal lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Right.Turn.Signal.Lights" : {
+                                       "generic_name": "Right.Turn.Signal.Lights",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor and attached implement right turn signal lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Rotating.Beacon.Light" : {
+                                       "generic_name": "Rotating.Beacon.Light",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the beacon light on tractor or attached implements.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tractor.Front.Fog.Lights" : {
+                                       "generic_name": "Tractor.Front.Fog.Lights",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor front fog lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "High.Beam.Head.Light.Data" : {
+                                       "generic_name": "High.Beam.Head.Light.Data",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor high beam head light lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Low.Beam.Head.Light.Data" : {
+                                       "generic_name": "Low.Beam.Head.Light.Data",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor low beam head light lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Alt.Beam.Head.Light.Data" : {
+                                       "generic_name": "Alt.Beam.Head.Light.Data",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the tractor alternate beam head light lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Running.Light" : {
+                                       "generic_name": "Running.Light",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides measured data from the vehicle's running lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivated": [0],
+                                               "Activated": [1],
+                                               "FaultDetected": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65089": {
+                       "comment": "Lighting Command",
+                       "length": 8,
+                       "name": "LC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Implement.Rear.Work.Light.Cmd" : {
+                                       "generic_name": "Implement.Rear.Work.Light.Cmd",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate implement rear work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implment.Left.Forward.Work.Light.Cmd" : {
+                                       "generic_name": "Implment.Left.Forward.Work.Light.Cmd",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the forward facing work lights toward the left end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implmnt.Right.Forward.Work.Light.Cmd" : {
+                                       "generic_name": "Implmnt.Right.Forward.Work.Light.Cmd",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the forward facing work lights toward the right end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Lighting.Data.Rq.Cmd" : {
+                                       "generic_name": "Lighting.Data.Rq.Cmd",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to provide a response of the light state",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implement.Left.Facing.Work.Light.Cmd" : {
+                                       "generic_name": "Implement.Left.Facing.Work.Light.Cmd",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate work lights mounted on an implement to illuminate beyond left end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implment.Right.Facing.Work.Light.Cmd" : {
+                                       "generic_name": "Implment.Right.Facing.Work.Light.Cmd",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate work lights mounted on an implement to illuminate beyond right end of the implement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implement.OEMOption1.Light.Cmd" : {
+                                       "generic_name": "Implement.OEMOption1.Light.Cmd",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate an implement OEM option 1 light.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implement.OEMOption2.Light.Cmd" : {
+                                       "generic_name": "Implement.OEMOption2.Light.Cmd",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate an implement OEM option 2 light.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Frnt.Hgh.Munted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Frnt.Hgh.Munted.Work.Lights.Cmd",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor front high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Frnt.Lw.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Frnt.Lw.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor front low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Sd.High.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Sd.High.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor side high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Sde.Low.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Sde.Low.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor side low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Rr.High.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Rr.High.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor rear high mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Rar.Low.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Rar.Low.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor rear low mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Trctr.Undrsd.Mounted.Work.Lights.Cmd" : {
+                                       "generic_name": "Trctr.Undrsd.Mounted.Work.Lights.Cmd",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor underside mounted work lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Rear.Fog.Light.Cmd" : {
+                                       "generic_name": "Rear.Fog.Light.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate tractor or implement rear fog lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Tractor.Marker.Light.Cmd" : {
+                                       "generic_name": "Tractor.Marker.Light.Cmd",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate tractor and implement front position lights, rear red tail lights, side amber running",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implement.Marker.Light.Cmd" : {
+                                       "generic_name": "Implement.Marker.Light.Cmd",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate implement front position lights, rear red tail lights, side amber running lights, license",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Tractor.Clearance.Light.Cmd" : {
+                                       "generic_name": "Tractor.Clearance.Light.Cmd",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor high mounted clearance and center ID lights",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Implement.Clearance.Light.Cmd" : {
+                                       "generic_name": "Implement.Clearance.Light.Cmd",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the implement high mounted clearance and lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Left.Stop.Light.Cmd" : {
+                                       "generic_name": "Left.Stop.Light.Cmd",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor and implement left stop lights",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Right.Stop.Light.Cmd" : {
+                                       "generic_name": "Right.Stop.Light.Cmd",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor and implement right stop light",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Center.Stop.Light.Cmd" : {
+                                       "generic_name": "Center.Stop.Light.Cmd",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor and implement center stop light",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Back.Up.Light.And.Alarm.Horn.Cmd" : {
+                                       "generic_name": "Back.Up.Light.And.Alarm.Horn.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the back up lights and/ or associated alarm if required",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Left.Turn.Signal.Lights.Cmd" : {
+                                       "generic_name": "Left.Turn.Signal.Lights.Cmd",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate left turn signal lights on the tractor and all connected implements",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Right.Turn.Signal.Lights.Cmd" : {
+                                       "generic_name": "Right.Turn.Signal.Lights.Cmd",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate right turn signal lights on the tractor and all connected implements",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Rotating.Beacon.Light.Cmd" : {
+                                       "generic_name": "Rotating.Beacon.Light.Cmd",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate slow moving vehicle indicator lights on tractor and/or implements.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Tractor.Front.Fog.Lights.Cmd" : {
+                                       "generic_name": "Tractor.Front.Fog.Lights.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate tractor front fog lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "High.Beam.Head.Light.Cmd" : {
+                                       "generic_name": "High.Beam.Head.Light.Cmd",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor high beam head light lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Low.Beam.Head.Light.Cmd" : {
+                                       "generic_name": "Low.Beam.Head.Light.Cmd",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor low beam head light lamps.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Alt.Beam.Head.Light.Cmd" : {
+                                       "generic_name": "Alt.Beam.Head.Light.Cmd",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor alternate head lights (only low beam is available on alternate head lights).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               },
+                               "Running.Light.Cmd" : {
+                                       "generic_name": "Running.Light.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command to activate or de-activate the tractor or powered vehicle running lights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare": [3]
+                                       }
+                               }
+                       }
+               },
+               "65138": {
+                       "comment": "Laser Leveling System Blade Control",
+                       "length": 8,
+                       "name": "LBC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Blade.Ctrl.Mode" : {
+                                       "generic_name": "Blade.Ctrl.Mode",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Allows the user to select the type of blade control for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ManualMode": [0],
+                                               "AutomaticMode": [1],
+                                               "InactiveAutomaticMode": [2]
+                                       }
+                               },
+                               "Blade.Duration.And.Direction" : {
+                                       "generic_name": "Blade.Duration.And.Direction",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3276.8,
+                                       "min_value": -3276.8,
+                                       "max_value": 3148.7,
+                                       "comment": "Used to indicate the duration and direction that the land leveling system blade moves.",
+                                       "unit": "sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Land.Leveling.System.Enable.Status" : {
+                                       "generic_name": "Land.Leveling.System.Enable.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Communicate the enable/disable status of the Land Leveling System.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disabled": [0],
+                                               "Enabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable_NotInstalled": [3]
+                                       }
+                               },
+                               "Blade.Ctrl.Mode.Right" : {
+                                       "generic_name": "Blade.Ctrl.Mode.Right",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicate if the land leveling system's automatic control is active or inactive for the elevation sensor on the right side of the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Manual": [0],
+                                               "Auto": [1],
+                                               "InactiveAuto": [2],
+                                               "1101Reserved": [3],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Blade.Ctrl.Mode.Left" : {
+                                       "generic_name": "Blade.Ctrl.Mode.Left",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicate if the land leveling system's automatic control is active or inactive for the elevation sensor on the left side of the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Manual": [0],
+                                               "Auto": [1],
+                                               "InactiveAuto": [2],
+                                               "1101Reserved": [3],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "65159": {
+                       "comment": "Ignition Timing 6",
+                       "length": 8,
+                       "name": "IT6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Actual.Ignt.Timing" : {
+                                       "generic_name": "Eng.Actual.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The actual ignition timing at the current engine conditions.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Ignt.Timing3" : {
+                                       "generic_name": "Eng.Desired.Ignt.Timing3",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "A programmable timing value specific to the engine's application.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Ignt.Timing2" : {
+                                       "generic_name": "Eng.Desired.Ignt.Timing2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "A programmable timing value specific to the engine's application.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Ignt.Timing1" : {
+                                       "generic_name": "Eng.Desired.Ignt.Timing1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "A programmable timing value specific to the engine's application.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65158": {
+                       "comment": "Ignition Timing 5",
+                       "length": 8,
+                       "name": "IT5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl20.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl20.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl19.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl19.Ignt.Timing",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl18.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl18.Ignt.Timing",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl17.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl17.Ignt.Timing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65157": {
+                       "comment": "Ignition Timing 4",
+                       "length": 8,
+                       "name": "IT4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl16.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl16.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl15.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl15.Ignt.Timing",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl14.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl14.Ignt.Timing",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl13.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl13.Ignt.Timing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65156": {
+                       "comment": "Ignition Timing 3",
+                       "length": 8,
+                       "name": "IT3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl12.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl12.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl11.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl11.Ignt.Timing",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl10.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl10.Ignt.Timing",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl9.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl9.Ignt.Timing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65155": {
+                       "comment": "Ignition Timing 2",
+                       "length": 8,
+                       "name": "IT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl8.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl8.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl7.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl7.Ignt.Timing",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl6.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl6.Ignt.Timing",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl5.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl5.Ignt.Timing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65154": {
+                       "comment": "Ignition Timing 1",
+                       "length": 8,
+                       "name": "IT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl4.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl4.Ignt.Timing",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl3.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl3.Ignt.Timing",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl2.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl2.Ignt.Timing",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl1.Ignt.Timing" : {
+                                       "generic_name": "Eng.Cyl1.Ignt.Timing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The ignition timing of the cylinder.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65162": {
+                       "comment": "Ignition Transformer Secondary Output 3",
+                       "length": 8,
+                       "name": "ISO3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl20.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl20.Ignt.Trans.Second.Output",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl19.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl19.Ignt.Trans.Second.Output",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl18.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl18.Ignt.Trans.Second.Output",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl17.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl17.Ignt.Trans.Second.Output",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65161": {
+                       "comment": "Ignition Transformer Secondary Output 2",
+                       "length": 8,
+                       "name": "ISO2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl16.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl16.Ignt.Trans.Second.Output",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl15.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl15.Ignt.Trans.Second.Output",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl14.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl14.Ignt.Trans.Second.Output",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl13.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl13.Ignt.Trans.Second.Output",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl12.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl12.Ignt.Trans.Second.Output",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl11.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl11.Ignt.Trans.Second.Output",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl10.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl10.Ignt.Trans.Second.Output",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl9.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl9.Ignt.Trans.Second.Output",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65160": {
+                       "comment": "Ignition Transformer Secondary Output 1",
+                       "length": 8,
+                       "name": "ISO1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl8.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl8.Ignt.Trans.Second.Output",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl7.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl7.Ignt.Trans.Second.Output",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl6.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl6.Ignt.Trans.Second.Output",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl5.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl5.Ignt.Trans.Second.Output",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl4.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl4.Ignt.Trans.Second.Output",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl3.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl3.Ignt.Trans.Second.Output",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl2.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl2.Ignt.Trans.Second.Output",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl1.Ignt.Trans.Second.Output" : {
+                                       "generic_name": "Eng.Cyl1.Ignt.Trans.Second.Output",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This parameter indicates the relative intensity of the secondary output voltage of the ignition transformer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64968": {
+                       "comment": "Operator Primary Intermediate Speed Control state",
+                       "length": 8,
+                       "name": "ISCS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Oprtr.Prmry.Intrmdt.Spd.Slct.Stte" : {
+                                       "generic_name": "Eng.Oprtr.Prmry.Intrmdt.Spd.Slct.Stte",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "13 preprogrammed intermediate speed control settings are available for the controlling ECM to select.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlSttIsISCFnctnltyIsNtRqdEngO": [0],
+                                               "thr1101CtrlSttIsISCSttng1Thru13": [1],
+                                               "SAEReserved": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "64970": {
+                       "comment": "Intermediate Speed Control",
+                       "length": 8,
+                       "name": "ISC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Oprtr.Prmry.Intrmdt.Speed.Select" : {
+                                       "generic_name": "Eng.Oprtr.Prmry.Intrmdt.Speed.Select",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Allows the operator to select one of 13 preprogrammed Intermediate Speed Control settings.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IndctsThtISCFnctnltyIsNtRqdEngO": [0],
+                                               "thr1101IndctsThtISCSttng1Thr13I": [1],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "65244": {
+                       "comment": "Idle Operation",
+                       "length": 8,
+                       "name": "IO",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Total.Idle.Hours" : {
+                                       "generic_name": "Eng.Total.Idle.Hours",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Accumulated time of operation of the engine while under idle conditions.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Total.Idle.Fuel.Used" : {
+                                       "generic_name": "Eng.Total.Idle.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Accumulated amount of fuel used during vehicle operation while under idle conditions.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65189": {
+                       "comment": "Intake Manifold Information 2",
+                       "length": 8,
+                       "name": "IMT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intake.Manifold6.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold6.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold number 6 of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold5.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold5.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold number 5 of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold4.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold4.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold3.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold3.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold2.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold2.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65190": {
+                       "comment": "Intake Manifold Information 1",
+                       "length": 8,
+                       "name": "IMT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Boost.Press" : {
+                                       "generic_name": "Eng.Turbo4.Boost.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Gage pressure of air measured downstream of the compressor discharge side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Boost.Press" : {
+                                       "generic_name": "Eng.Turbo3.Boost.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Gage pressure of air measured downstream of the compressor discharge side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Boost.Press" : {
+                                       "generic_name": "Eng.Turbo2.Boost.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Gage pressure of air measured downstream of the compressor discharge side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Boost.Press" : {
+                                       "generic_name": "Eng.Turbo1.Boost.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Gage pressure of air measured downstream of the compressor discharge side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64976": {
+                       "comment": "Intake/Exhaust Conditions 2",
+                       "length": 8,
+                       "name": "IC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Air.Filter4.Diff.Press" : {
+                                       "generic_name": "Eng.Air.Filter4.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12.5,
+                                       "comment": "Change in engine air system pressure, measured across the fourth air filter, due to the filter and any accumulation of solid",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Air.Filter3.Diff.Press" : {
+                                       "generic_name": "Eng.Air.Filter3.Diff.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12.5,
+                                       "comment": "Change in engine air system pressure, measured across the third air filter, due to the filter and any accumulation of solid",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Air.Filter2.Diff.Press" : {
+                                       "generic_name": "Eng.Air.Filter2.Diff.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12.5,
+                                       "comment": "Change in engine air system pressure, measured across the second air filter, due to the filter and any accumulation of",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold1.Abs.Press" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Abs.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 25.5,
+                                       "comment": "The absolute pressure measurement of the air intake manifold.The absolute pressure measurement of the air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold2.Abs.Press" : {
+                                       "generic_name": "Eng.Intake.Manifold2.Abs.Press",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "The absolute pressure measurement of the air intake manifold for bank 2 or the second air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold2.Press" : {
+                                       "generic_name": "Eng.Intake.Manifold2.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "The gage pressure measurement of the air intake manifold for bank #2 or the second air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold1.Abs.Press.Hi.Res" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Abs.Press.Hi.Res",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The absolute pressure measurement of the air intake manifold.The absolute pressure measurement of the air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65270": {
+                       "comment": "Intake/Exhaust Conditions 1",
+                       "length": 8,
+                       "name": "IC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Coolant.Filter.Diff.Press" : {
+                                       "generic_name": "Eng.Coolant.Filter.Diff.Press",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Change in coolant pressure, measured across the filter, due to the filter and any accumulation of solid or semisolid matter",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of combustion byproducts leaving the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Air.Filter1.Diff.Press" : {
+                                       "generic_name": "Eng.Air.Filter1.Diff.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12.5,
+                                       "comment": "Change in engine air system pressure, measured across the filter, due to the filter and any accumulation of solid foreign",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold1.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold1.Press" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "The gage pressure measurement of the air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Dsl.Prtclate.Filter.Intake.Press" : {
+                                       "generic_name": "Eng.Dsl.Prtclate.Filter.Intake.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Exhaust back pressure as a result of particle accumulation on filter media placed in the exhaust stream.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Air.Intake.Press" : {
+                                       "generic_name": "Eng.Air.Intake.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Absolute air pressure at input port to intake manifold or air box.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65133": {
+                       "comment": "Heater Information",
+                       "length": 8,
+                       "name": "HTR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cab.Heating.Zone" : {
+                                       "generic_name": "Cab.Heating.Zone",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter indicating whether the cab zone is being heated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CabHeatingZoneOff": [0],
+                                               "CabHeatingZoneOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Heating.Zone" : {
+                                       "generic_name": "Eng.Heating.Zone",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter indicating whether the engine zone is being heated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngHeatingZoneOff": [0],
+                                               "EngHeatingZoneOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cab.Ventilation" : {
+                                       "generic_name": "Cab.Ventilation",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the cab is being ventilated or not.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CabNotVentilated": [0],
+                                               "CabIsVentilated": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aux.Heater.Mode" : {
+                                       "generic_name": "Aux.Heater.Mode",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of the auxiliary heater",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HeaterNotActive": [0],
+                                               "OffDTADRPrErpnRgltnsFrTrnsprtOf": [1],
+                                               "EconomyMode": [2],
+                                               "NormalMode": [3],
+                                               "1101NotDefined": [4],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aux.Heater.Output.Power.Percent" : {
+                                       "generic_name": "Aux.Heater.Output.Power.Percent",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Current auxiliary heater output power, relative to the auxiliary heater maximum output power.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Heater.Input.Air.Temp" : {
+                                       "generic_name": "Aux.Heater.Input.Air.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the input air in an auxiliary heater system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Heater.Output.Coolant.Temp" : {
+                                       "generic_name": "Aux.Heater.Output.Coolant.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the auxiliary heater output coolant (I.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Heater.Water.Pump.Status" : {
+                                       "generic_name": "Aux.Heater.Water.Pump.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter indicating whether the auxiliary heater water pump is running",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "WaterPumpIsNotRunning": [0],
+                                               "WaterPumpIsRunning": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65134": {
+                       "comment": "High Resolution Wheel Speed",
+                       "length": 8,
+                       "name": "HRW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rear.Axle.Right.Wheel.Speed" : {
+                                       "generic_name": "Rear.Axle.Right.Wheel.Speed",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "High resolution measurement of the speed of the right wheel on the rear axle.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rear.Axle.Left.Wheel.Speed" : {
+                                       "generic_name": "Rear.Axle.Left.Wheel.Speed",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "High resolution measurement of the speed of the left wheel on the rear axle.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Front.Axle.Right.Wheel.Speed" : {
+                                       "generic_name": "Front.Axle.Right.Wheel.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "High resolution measurement of the speed of the right wheel on the front axle.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Front.Axle.Left.Wheel.Speed" : {
+                                       "generic_name": "Front.Axle.Left.Wheel.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "High resolution measurement of the speed of the left wheel on the front axle.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61448": {
+                       "comment": "Hydraulic Pressure Governor Info",
+                       "length": 8,
+                       "name": "HPG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fire.Apparatus.Pump.Engagement" : {
+                                       "generic_name": "Fire.Apparatus.Pump.Engagement",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The measured status of the pump used to provide water in fire fighting apparatus for distribution of water through water",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PumpNotEngaged": [0],
+                                               "PumpEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Eng.Hyd.Press.Governor.Switch" : {
+                                       "generic_name": "Eng.Hyd.Press.Governor.Switch",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch that sets the mode of hydraulic governor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressModeInactive": [0],
+                                               "PressModeActive": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Hyd.Prss.Governor.Mode.Indicator" : {
+                                       "generic_name": "Eng.Hyd.Prss.Governor.Mode.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Mode for governor operation is hydraulic pressure control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disabled": [0],
+                                               "Enabled": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Press" : {
+                                       "generic_name": "Hyd.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Hydraulic pressure measured at the output of the hydraulic pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65253": {
+                       "comment": "Engine Hours, Revolutions",
+                       "length": 8,
+                       "name": "HOURS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Total.Revolutions" : {
+                                       "generic_name": "Eng.Total.Revolutions",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1000,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215000,
+                                       "comment": "Accumulated number of revolutions of engine crankshaft during its operation.",
+                                       "unit": "r",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Total.Hours.Of.Operation" : {
+                                       "generic_name": "Eng.Total.Hours.Of.Operation",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Accumulated time of operation of engine.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64998": {
+                       "comment": "Hydraulic Braking System",
+                       "length": 8,
+                       "name": "HBS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Hyd.Brake.Fluid.Level.Switch" : {
+                                       "generic_name": "Hyd.Brake.Fluid.Level.Switch",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the hydraulic fluid level in the reservoir(s) is sufficient.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FluidLevelIsNotSufficient": [0],
+                                               "FluidLevelIsSufficient": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Brake.System.Audible.Warning.Cmd" : {
+                                       "generic_name": "Hyd.Brake.System.Audible.Warning.Cmd",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which commands an audible warning by the hydraulic braking system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AudibleWarningOff": [0],
+                                               "AudibleWarningOn": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               },
+                               "Hyd.Brke.Press.Supply.State.Circuit2" : {
+                                       "generic_name": "Hyd.Brke.Press.Supply.State.Circuit2",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the hydraulic brake pressure supply of circuit 2 is reliable; that is, able to support",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SupplyIsNotReliable": [0],
+                                               "SupplyIsReliable": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Brke.Press.Supply.State.Circuit1" : {
+                                       "generic_name": "Hyd.Brke.Press.Supply.State.Circuit1",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the hydraulic brake pressure supply of circuit 1 is reliable; that is, able to support",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SupplyIsNotReliable": [0],
+                                               "SupplyIsReliable": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Brk.Press.Warning.State.Circuit2" : {
+                                       "generic_name": "Hyd.Brk.Press.Warning.State.Circuit2",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the hydraulic brake pressure of circuit 2 is below the warning level",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressLevelSufficient": [0],
+                                               "PressLevelBelowWarningLevel": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Brk.Press.Warning.State.Circuit1" : {
+                                       "generic_name": "Hyd.Brk.Press.Warning.State.Circuit1",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the hydraulic brake pressure of circuit 1 is below the warning level",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressLevelSufficient": [0],
+                                               "PressLevelBelowWarningLevel": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Brake.Press.Circuit2" : {
+                                       "generic_name": "Hyd.Brake.Press.Circuit2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 100,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 25,
+                                       "comment": "Gage hydraulic pressure in circuit 2 of the hydraulic brake system",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hyd.Brake.Press.Circuit1" : {
+                                       "generic_name": "Hyd.Brake.Press.Circuit1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 100,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 25,
+                                       "comment": "Gage hydraulic pressure in circuit 1 of the hydraulic brake system",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65208": {
+                       "comment": "Trip Fuel Information (Gaseous)",
+                       "length": 22,
+                       "name": "GTFI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Drive.Fuel.Economy" : {
+                                       "generic_name": "Trip.Drive.Fuel.Economy",
+                                       "bit_position": 159,
+                                       "bit_size": 16,
+                                       "factor": 0.001953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125.5,
+                                       "comment": "Trip drive fuel economy is equal to the distance traveled by vehicle in the drive state (engine speed greater than zero,",
+                                       "unit": "km/kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trp.PTOGovernor.Nonmoving.Fuel.Used" : {
+                                       "generic_name": "Trp.PTOGovernor.Nonmoving.Fuel.Used",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while the PTO or remote PTO governors are in the hold state, the engine speed is greater than zero,",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Vehicle.Idle.Fuel.Used" : {
+                                       "generic_name": "Trip.Vehicle.Idle.Fuel.Used",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while neither the PTO or remote PTO governors are active, the engine speed is greater than zero,",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Cruise.Fuel.Used" : {
+                                       "generic_name": "Trip.Cruise.Fuel.Used",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while the engine is in the cruise hold state since the last trip reset.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Drive.Fuel.Used" : {
+                                       "generic_name": "Trip.Drive.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while the engine speed is greater than zero, vehicle speed is greater than or equal to 2 km/h, and",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.PTOGovernor.Moving.Fuel.Used" : {
+                                       "generic_name": "Trip.PTOGovernor.Moving.Fuel.Used",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while either the PTO or remote PTO governors are in the hold state, the engine speed is greater",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65163": {
+                       "comment": "Gaseous Fuel Pressure",
+                       "length": 8,
+                       "name": "GFP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Valve1.Outlet.Abs.Press" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Outlet.Abs.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Absolute Pressure of gas on outlet side of the first or only fuel system control valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Air.To.Fuel.Diff.Press" : {
+                                       "generic_name": "Eng.Air.To.Fuel.Diff.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The differential pressure between the gaseous fuel and the air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve.Diff.Press" : {
+                                       "generic_name": "Eng.Fuel.Valve.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The differential pressure between the intake and the outlet of a gaseous fuel valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve1.Intake.Abs.Press" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Intake.Abs.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The absolute pressure of gas on the intake side of the first system control valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65153": {
+                       "comment": "Fuel Information 2 (Gaseous)",
+                       "length": 8,
+                       "name": "GFI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Flow.Rate2" : {
+                                       "generic_name": "Eng.Fuel.Flow.Rate2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The rate at which the fuel is flowing through a fuel valve.",
+                                       "unit": "(m*m*m)/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Flow.Rate1" : {
+                                       "generic_name": "Eng.Fuel.Flow.Rate1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The rate at which the fuel is flowing through a fuel valve.",
+                                       "unit": "(m*m*m)/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqed.Fuel.Valve2.Pos" : {
+                                       "generic_name": "Eng.Rqed.Fuel.Valve2.Pos",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The requested position of a gaseous fuel valve 2 that is metering the fuel flow to the engine, as requested by the Engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqed.Fuel.Valve1.Pos" : {
+                                       "generic_name": "Eng.Rqed.Fuel.Valve1.Pos",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The requested position of a gaseous fuel valve 1 that is metering the fuel flow to the engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve2.Pos" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Pos",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of a gaseous fuel valve that is metering the fuel flow to the engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve1.Pos" : {
+                                       "generic_name": "Eng.Fuel.Valve1.Pos",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of a gaseous fuel valve that is metering the fuel flow to the engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65202": {
+                       "comment": "Fuel Information 1 (Gaseous)",
+                       "length": 8,
+                       "name": "GFI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Eng.PTOGovernor.Fuel.Used" : {
+                                       "generic_name": "Total.Eng.PTOGovernor.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel used while the PTO or remote PTO governors are in the hold state and engine speed is above zero, over the",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Average.Fuel.Rate" : {
+                                       "generic_name": "Trip.Average.Fuel.Rate",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Average fuel rate, equal to trip fuel divided by trip time while the engine speed is above zero, since the last trip reset.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Specific.Gravity" : {
+                                       "generic_name": "Eng.Fuel.Specific.Gravity",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6.4255,
+                                       "comment": "This parameter conveys the specific gravity of the gaseous fuel being used by the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65109": {
+                       "comment": "Gaseous Fuel Properties",
+                       "length": 8,
+                       "name": "GFD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Specific.Heat.Ratio" : {
+                                       "generic_name": "Specific.Heat.Ratio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "The specific heat ratio of the fuel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65199": {
+                       "comment": "Fuel Consumption (Gaseous)",
+                       "length": 8,
+                       "name": "GFC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Fuel.Used" : {
+                                       "generic_name": "Total.Fuel.Used",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed (trip drive fuel + trip PTO moving fuel + trip PTO non-moving fuel + trip idle fuel) over the life of the engine.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Fuel" : {
+                                       "generic_name": "Trip.Fuel",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed (trip drive fuel + trip PTO moving fuel + trip PTO non-moving fuel + trip idle fuel) since the last trip reset.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64924": {
+                       "comment": "Sensor Electrical Power #2",
+                       "length": 8,
+                       "name": "SEP2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sensor.Supply.Voltage6" : {
+                                       "generic_name": "Sensor.Supply.Voltage6",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 6",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage5" : {
+                                       "generic_name": "Sensor.Supply.Voltage5",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 5",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage8" : {
+                                       "generic_name": "Sensor.Supply.Voltage8",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 8",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage7" : {
+                                       "generic_name": "Sensor.Supply.Voltage7",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 7",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64925": {
+                       "comment": "Sensor Electrical Power #1",
+                       "length": 8,
+                       "name": "SEP1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sensor.Supply.Voltage4" : {
+                                       "generic_name": "Sensor.Supply.Voltage4",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 4",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage3" : {
+                                       "generic_name": "Sensor.Supply.Voltage3",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 3",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage2" : {
+                                       "generic_name": "Sensor.Supply.Voltage2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 2",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sensor.Supply.Voltage1" : {
+                                       "generic_name": "Sensor.Supply.Voltage1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Sensor ECU supply voltage 1",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64932": {
+                       "comment": "PTO Drive Engagement",
+                       "length": 8,
+                       "name": "PTODE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Enggmnt.Sttus.Trans.Input.Shaft.PTO1" : {
+                                       "generic_name": "Enggmnt.Sttus.Trans.Input.Shaft.PTO1",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports if this specific PTO drive is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Sttus.Trans.Input.Shaft.PTO2" : {
+                                       "generic_name": "Enggmnt.Sttus.Trans.Input.Shaft.PTO2",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports if this specific PTO drive is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Sttus.Trans.Output.Shaft.PTO" : {
+                                       "generic_name": "Enggmnt.Sttus.Trans.Output.Shaft.PTO",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports if this specific PTO drive is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Stts.Trnsfr.Cs.Otpt.Shaft.PTO" : {
+                                       "generic_name": "Enggmnt.Stts.Trnsfr.Cs.Otpt.Shaft.PTO",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports if this specific PTO drive is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.Trans.Input.Shaft.PTO1" : {
+                                       "generic_name": "Enggmnt.Cnsnt.Trans.Input.Shaft.PTO1",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the transmission controller's consent to engage the first or sole PTO drive mounted on the transmission case.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvShldNtBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.Trans.Input.Shaft.PTO2" : {
+                                       "generic_name": "Enggmnt.Cnsnt.Trans.Input.Shaft.PTO2",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the transmission controller's consent to engage the second PTO drive mounted on the transmission case.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvShldNtBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.Trans.Output.Shaft.PTO" : {
+                                       "generic_name": "Enggmnt.Cnsnt.Trans.Output.Shaft.PTO",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the transmission controller's consent to engage the PTO drive connected to the transmission output shaft.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvShldNtBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.Trnsfr.Cs.Otpt.Shft.PTO" : {
+                                       "generic_name": "Enggmnt.Cnsnt.Trnsfr.Cs.Otpt.Shft.PTO",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the transmission controller's consent to engage the PTO drive connected to the transfer case output shaft.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvShldNtBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enable.Switch.Trans.Input.Shaft.PTO1" : {
+                                       "generic_name": "Enable.Switch.Trans.Input.Shaft.PTO1",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the operator's switch or other input which indicates the desire for engaging the first PTO drive mounted on the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwtchOffPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enable.Switch.Trans.Input.Shaft.PTO2" : {
+                                       "generic_name": "Enable.Switch.Trans.Input.Shaft.PTO2",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the operator's switch or other input which indicates the desire for engaging the second PTO drive mounted on",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwtchOffPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enable.Switch.Trans.Output.Shaft.PTO" : {
+                                       "generic_name": "Enable.Switch.Trans.Output.Shaft.PTO",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the operator's switch or other input which indicates the desire for engaging the PTO drive mounted on the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwtchOffPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enbl.Swtch.Trnsfr.Cs.Output.Shaft.PTO" : {
+                                       "generic_name": "Enbl.Swtch.Trnsfr.Cs.Output.Shaft.PTO",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the operator's switch or other input which indicates the desire for engaging the PTO drive mounted on the output",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwtchOffPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Stts.PTOEng.Accssory.Drive2" : {
+                                       "generic_name": "Enggmnt.Stts.PTOEng.Accssory.Drive2",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement status of the PTO engine accessory drive 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Stts.PTOEng.Accssory.Drive1" : {
+                                       "generic_name": "Enggmnt.Stts.PTOEng.Accssory.Drive1",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement status of the PTO engine accessory drive 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.PTOEng.Accssry.Drive2" : {
+                                       "generic_name": "Enggmnt.Cnsnt.PTOEng.Accssry.Drive2",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement Consent status for the PTO engine accessory drive 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvMayNotBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enggmnt.Cnsnt.PTOEng.Accssry.Drive1" : {
+                                       "generic_name": "Enggmnt.Cnsnt.PTOEng.Accssry.Drive1",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement consent status for the PTO engine accessory drive 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvMayNotBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Engagement.Status.PTOEng.Flywheel" : {
+                                       "generic_name": "Engagement.Status.PTOEng.Flywheel",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement status of the PTO Engine Flywheel",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveNotEngaged": [0],
+                                               "DriveEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Engagement.Consent.PTOEng.Flywheel" : {
+                                       "generic_name": "Engagement.Consent.PTOEng.Flywheel",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Engagement Consent status for the PTO Engine Flywheel",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CnsntNtGvnPTODrvMayNotBeEngaged": [0],
+                                               "CnsentGivenPTODriveMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enbl.Switch.PTOEng.Accessory.Drive2" : {
+                                       "generic_name": "Enbl.Switch.PTOEng.Accessory.Drive2",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the PTO engine accessory drive 2 enable switch",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwitchOnPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enbl.Switch.PTOEng.Accessory.Drive1" : {
+                                       "generic_name": "Enbl.Switch.PTOEng.Accessory.Drive1",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the PTO engine accessory drive 1 enable switch",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwitchOnPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Enable.Switch.PTOEng.Flywheel" : {
+                                       "generic_name": "Enable.Switch.PTOEng.Flywheel",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the PTO Engine Flywheel enable switch",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EnblSwtchOffPTOOprtonNotDesired": [0],
+                                               "EnblSwitchOnPTOOperationDesired": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "At.Least.One.PTOEngaged" : {
+                                       "generic_name": "At.Least.One.PTOEngaged",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that at least one PTO is engaged",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoPTODriveIsEngaged": [0],
+                                               "AtLeastOnePTODriveIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64930": {
+                       "comment": "Fuel Information 3 (Gaseous)",
+                       "length": 8,
+                       "name": "GFI3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Valve2.Outlet.Abs.Press" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Outlet.Abs.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Absolute pressure of gas on outlet side of the second fuel system control valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Temp2" : {
+                                       "generic_name": "Eng.Fuel.Temp2",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature 2 of fuel (or gas).",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gas2.Mass.Flow.Rate" : {
+                                       "generic_name": "Eng.Gas2.Mass.Flow.Rate",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Gas mass flow rate delivered to an engine through its second fuel control system, using standard convention for",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Valve2.Intake.Abs.Press" : {
+                                       "generic_name": "Eng.Fuel.Valve2.Intake.Abs.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Absolute pressure of gas on intake side of the second fuel system control valve, using standard convention for",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64938": {
+                       "comment": "Engine Fluid Level/Pressure 4",
+                       "length": 8,
+                       "name": "EFL_P4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Centrifugal.Oil.Filter.Speed" : {
+                                       "generic_name": "Eng.Centrifugal.Oil.Filter.Speed",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257020,
+                                       "comment": "The speed of a rotating (centrifugal) engine oil filter.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Pump.Diff.Press" : {
+                                       "generic_name": "Eng.Coolant.Pump.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1.64,
+                                       "offset": -7,
+                                       "min_value": -7,
+                                       "max_value": 403,
+                                       "comment": "The differential pressure measured across the input and output of the engine coolant pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler2.Intake.Press" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler2.Intake.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Pressure of air at intake to 2nd charge air cooler, from multiple first stage turbochargers being cooled and feeding multiple",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler1.Intake.Press" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler1.Intake.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Pressure of air at intake to 1st or only charge air cooler, from multiple first stage turbochargers being cooled and feeding",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intercooler.Coolant.Level" : {
+                                       "generic_name": "Eng.Intercooler.Coolant.Level",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of liquid found in an engine intercooler cooling system to total engine intercooler cooling system volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler.Outlet.Press" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler.Outlet.Press",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Measures pressure of air at outlet from charge air cooler",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Aftercooler.Coolant.Level" : {
+                                       "generic_name": "Eng.Aftercooler.Coolant.Level",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of aftercooler coolant system volume of liquid to total cooling system volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64931": {
+                       "comment": "Electronic Engine Controller 6",
+                       "length": 8,
+                       "name": "EEC6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Vrable.Geometry.Turbo.Actuator1" : {
+                                       "generic_name": "Eng.Vrable.Geometry.Turbo.Actuator1",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Actuator that controls the variable geometry turbocharger geometry.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Trb.Cmprssr.Bypss.Acttr1.Tmp.Stts" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr1.Tmp.Stts",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Turbocharger Compresssor Bypass Actuator 1 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypss.Acttr1.Prlmnry.FMI" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypss.Acttr1.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the appplicable J1939-73 FMI detected in the Engine Turbocharger Compressor Bypass Actuator 1 by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Trb.Cmprssr.Bypass.Actuator2.Cmd" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypass.Actuator2.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The command to a compressor bypass actuator 2, normalized to percent, where 0% nominally represents fully closed and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RprsntsFllyOpnTypcllyTrbCmprssr": [4]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypass.Actuator1.Pos" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypass.Actuator1.Pos",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Measures the position of the turbocharger compressor bypass actuator, where 0% represents bypass fully closed and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RprsntsBypssFllyOpnTypcllyCmprs": [4]
+                                       }
+                               },
+                               "Eng.Trb.Cmprssr.Bypass.Actuator1.Cmd" : {
+                                       "generic_name": "Eng.Trb.Cmprssr.Bypass.Actuator1.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The command to a compressor bypass actuator, normalized to percent, where 0% nominally represents fully closed and",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RprsntsFllyOpnTypcllyTrbCmprssr": [4]
+                                       }
+                               },
+                               "Eng.Dsrd.Trb.Cmprssr.Bypss.Acttr1.Pos" : {
+                                       "generic_name": "Eng.Dsrd.Trb.Cmprssr.Bypss.Acttr1.Pos",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The requested position of the Engine Turbocharger Compressor Bypass actuator by the engine ECM, where 0%",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64933": {
+                       "comment": "Door Control 2",
+                       "length": 8,
+                       "name": "DC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Enable.Status.Of.Door10" : {
+                                       "generic_name": "Enable.Status.Of.Door10",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 10.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door10" : {
+                                       "generic_name": "Open.Status.Of.Door10",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 10",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door10" : {
+                                       "generic_name": "Lock.Status.Of.Door10",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 10",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door9" : {
+                                       "generic_name": "Enable.Status.Of.Door9",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 9.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door9" : {
+                                       "generic_name": "Open.Status.Of.Door9",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 9",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door9" : {
+                                       "generic_name": "Lock.Status.Of.Door9",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 9",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door8" : {
+                                       "generic_name": "Enable.Status.Of.Door8",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 8.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door8" : {
+                                       "generic_name": "Open.Status.Of.Door8",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 8",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door8" : {
+                                       "generic_name": "Lock.Status.Of.Door8",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 8",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door7" : {
+                                       "generic_name": "Enable.Status.Of.Door7",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 7.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door7" : {
+                                       "generic_name": "Open.Status.Of.Door7",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 7",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door7" : {
+                                       "generic_name": "Lock.Status.Of.Door7",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 7",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door6" : {
+                                       "generic_name": "Enable.Status.Of.Door6",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 6.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door6" : {
+                                       "generic_name": "Open.Status.Of.Door6",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 6",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door6" : {
+                                       "generic_name": "Lock.Status.Of.Door6",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 6",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door5" : {
+                                       "generic_name": "Enable.Status.Of.Door5",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door5" : {
+                                       "generic_name": "Open.Status.Of.Door5",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 5",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door5" : {
+                                       "generic_name": "Lock.Status.Of.Door5",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 5",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door4" : {
+                                       "generic_name": "Enable.Status.Of.Door4",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door4" : {
+                                       "generic_name": "Open.Status.Of.Door4",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 4",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door4" : {
+                                       "generic_name": "Lock.Status.Of.Door4",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 4",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door3" : {
+                                       "generic_name": "Enable.Status.Of.Door3",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door3" : {
+                                       "generic_name": "Open.Status.Of.Door3",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door3" : {
+                                       "generic_name": "Lock.Status.Of.Door3",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door2" : {
+                                       "generic_name": "Enable.Status.Of.Door2",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door2" : {
+                                       "generic_name": "Open.Status.Of.Door2",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door2" : {
+                                       "generic_name": "Lock.Status.Of.Door2",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Enable.Status.Of.Door1" : {
+                                       "generic_name": "Enable.Status.Of.Door1",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Enable status of bus door 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorDisabled": [0],
+                                               "doorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Open.Status.Of.Door1" : {
+                                       "generic_name": "Open.Status.Of.Door1",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Open status of bus door 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "doorClosed": [0],
+                                               "doorOpened": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Lock.Status.Of.Door1" : {
+                                       "generic_name": "Lock.Status.Of.Door1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lock status of bus door 1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "unlocked": [0],
+                                               "locked": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64923": {
+                       "comment": "Aftertreatment 1 SCR Reagent Information",
+                       "length": 8,
+                       "name": "CRI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tmp2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tmp2.Prlmnry.FMI",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst temperature sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Prprts.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Prprts.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst reagent properties",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Cndctvty" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Cndctvty",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "A measure of the conductivity of the reagent or fluid at the sensor.",
+                                       "unit": "microSiemens/mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Cncntrtn" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Cncntrtn",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "A measure of the concentration of urea in water.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Reagent.Type" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Reagent.Type",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates what reagent is in the tank.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtlystRgntIsUrCncntrtionTooHigh": [0],
+                                               "CtlystRgntIsUrCncntrationTooLow": [1],
+                                               "CatalystReagentIsDiesel": [2],
+                                               "CatalystReagentIsProperMixture": [3],
+                                               "to1100ReservedForSAEAssignment": [5],
+                                               "NtAblTDtrmneCatalystReagentType": [13],
+                                               "ErrrDtctdWthUrRgntTypeDetection": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Ragent.Temp2" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Ragent.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the catalyst reagent at the device measuring reagent quality",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61468": {
+                       "comment": "Requested Generator Average Basic AC Quantities",
+                       "length": 8,
+                       "name": "RGAAQ",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rqd.Gnrtr.Avrg.Lne.Line.ACRMSVoltage" : {
+                                       "generic_name": "Rqd.Gnrtr.Avrg.Lne.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.0078125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32899071,
+                                       "comment": "The requested average AC RMS voltage to be delivered by the generator.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61466": {
+                       "comment": "Engine Throttle / Fuel Actuator Control Command",
+                       "length": 8,
+                       "name": "TFAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Throttle.Actuator2.Ctrl.Cmd" : {
+                                       "generic_name": "Eng.Throttle.Actuator2.Ctrl.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The control command to throttle actuator 2, normalized to percent, where 0% represents fully closed and 100%",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Throttle.Actuator1.Ctrl.Cmd" : {
+                                       "generic_name": "Eng.Throttle.Actuator1.Ctrl.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The control command to throttle actuator 1, normalized to percent, where 0% represents fully closed and 100%",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Actuator2.Ctrl.Cmd" : {
+                                       "generic_name": "Eng.Fuel.Actuator2.Ctrl.Cmd",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The control command to fuel actuator 2, normalized to percent, where 0% represents fully closed and 100% represents",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Actuator1.Ctrl.Cmd" : {
+                                       "generic_name": "Eng.Fuel.Actuator1.Ctrl.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The control command to fuel actuator 1, normalized to percent, where 0% represents fully closed and 100% represents",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61465": {
+                       "comment": "Engine Knock Level #3",
+                       "length": 8,
+                       "name": "KL3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl24.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl24.Knock.Level",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 24.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl23.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl23.Knock.Level",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 23.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl22.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl22.Knock.Level",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 22.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl21.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl21.Knock.Level",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 21.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl20.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl20.Knock.Level",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 20.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl19.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl19.Knock.Level",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 19.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl18.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl18.Knock.Level",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 18.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl17.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl17.Knock.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 17.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61464": {
+                       "comment": "Engine Knock Level #2",
+                       "length": 8,
+                       "name": "KL2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl15.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl15.Knock.Level",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 15.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl14.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl14.Knock.Level",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 14.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl13.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl13.Knock.Level",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 13.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl12.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl12.Knock.Level",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 12.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl11.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl11.Knock.Level",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 11.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl10.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl10.Knock.Level",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 10.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl9.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl9.Knock.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 9.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl16.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl16.Knock.Level",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 16.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61463": {
+                       "comment": "Engine Knock Level #1",
+                       "length": 8,
+                       "name": "KL1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl8.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl8.Knock.Level",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 8.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl7.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl7.Knock.Level",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 7.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl6.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl6.Knock.Level",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 6.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl5.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl5.Knock.Level",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 5.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl4.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl4.Knock.Level",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 4.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl3.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl3.Knock.Level",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 3.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl2.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl2.Knock.Level",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl1.Knock.Level" : {
+                                       "generic_name": "Eng.Cyl1.Knock.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Used to indicate the level of knock for engine cylinder 1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61462": {
+                       "comment": "Cylinder Combustion Status",
+                       "length": 8,
+                       "name": "CCS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl9.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl9.Combustion.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #9",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl8.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl8.Combustion.Status",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #8",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl7.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl7.Combustion.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #7",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl6.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl6.Combustion.Status",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #6",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl5.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl5.Combustion.Status",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #5",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl4.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl4.Combustion.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #4",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl3.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl3.Combustion.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl2.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl2.Combustion.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl24.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl24.Combustion.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #24",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl23.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl23.Combustion.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #23",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl22.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl22.Combustion.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #22",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl21.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl21.Combustion.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #21",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl20.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl20.Combustion.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #20",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl1.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl1.Combustion.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl19.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl19.Combustion.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #19",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl18.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl18.Combustion.Status",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #18",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl17.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl17.Combustion.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #17",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl16.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl16.Combustion.Status",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #16",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl15.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl15.Combustion.Status",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #15",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl14.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl14.Combustion.Status",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #14",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl13.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl13.Combustion.Status",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #13",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl12.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl12.Combustion.Status",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #12",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl11.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl11.Combustion.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #11",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Cyl10.Combustion.Status" : {
+                                       "generic_name": "Eng.Cyl10.Combustion.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate state of combustion in engine cylinder #10",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCombustion": [0],
+                                               "CombustionExists": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "61461": {
+                       "comment": "Requested Generator Total AC Reactive Power",
+                       "length": 8,
+                       "name": "RGTARP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rq.Gen.Overall.Power.Factor.Lagging" : {
+                                       "generic_name": "Rq.Gen.Overall.Power.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4,
+                                       "comment": "The requested lead/lag status for the generator average AC power factor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Leading": [0],
+                                               "Lagging": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Rq.Generator.Overall.Power.Factor" : {
+                                       "generic_name": "Rq.Generator.Overall.Power.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.00006103515625,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.921814,
+                                       "comment": "The requested average power factor of the generator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rq.Generator.Total.ACReactive.Power" : {
+                                       "generic_name": "Rq.Generator.Total.ACReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2000000000,
+                                       "comment": "The total reactive power requested to be delivered by the generator",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61460": {
+                       "comment": "Blade Information",
+                       "length": 8,
+                       "name": "BI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rltv.Bld.Hght.And.Bld.Rttn.Angl.Msrmnt.Ltncy" : {
+                                       "generic_name": "Rltv.Bld.Hght.And.Bld.Rttn.Angl.Msrmnt.Ltncy",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "The estimated measurement latency of the measurement.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rlative.Blade.Height.Figure.Of.Merit" : {
+                                       "generic_name": "Rlative.Blade.Height.Figure.Of.Merit",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for blade height measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RltvBldHghtFllyFnctnlDtIsWthnSn": [0],
+                                               "RltvBldHghtDgrddDtIsSspctDTEnvr": [1],
+                                               "RelativeBladeHeightFailed": [2],
+                                               "RelativeBladeHeightNotAvailable": [3]
+                                       }
+                               },
+                               "Blade.Rotation.Angle.Figure.Of.Merit" : {
+                                       "generic_name": "Blade.Rotation.Angle.Figure.Of.Merit",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for blade rotation measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BldRttnAnglFllyFnctnlDtIsWthnSn": [0],
+                                               "BldRttnAnglDgrddDtIsSspctDTEnvr": [1],
+                                               "BldRttnAnglFldRllSnsrFldTOprtCr": [2],
+                                               "BladeRotationAngleNotAvailable": [3]
+                                       }
+                               },
+                               "Blade.Rotation.Angle" : {
+                                       "generic_name": "Blade.Rotation.Angle",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The blade rotation angle measurement around the yaw (z-axis).",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Blade.Height" : {
+                                       "generic_name": "Relative.Blade.Height",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "The measured vertical distance from a fixed location on the machine blade to a ground-based reference.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "766": {
+                       "comment": "ISO 11992: Towing vehicle message, electronic brake system #1/1",
+                       "length": 8,
+                       "name": "EBS11",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Retarder.Demand.Value" : {
+                                       "generic_name": "Retarder.Demand.Value",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The demanded value of the retarder on the towed vehicle(s) as a percentage of the absolute peak torque of retarder.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Park.Brake.Demand.Value" : {
+                                       "generic_name": "Park.Brake.Demand.Value",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The requested brake pressure value of the parking brake as a percentage of maximum.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Brake.Demand.Value" : {
+                                       "generic_name": "Service.Brake.Demand.Value",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1255,
+                                       "comment": "The requested brake pressure value of the service brake demanded by the driver.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Type" : {
+                                       "generic_name": "Vehicle.Type",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Information to identify a dolly axle within the road train.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Towing or towed vehicle": [0],
+                                               "Dolly axle": [1]
+                                       }
+                               },
+                               "Brake.Light.Switch" : {
+                                       "generic_name": "Brake.Light.Switch",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the brake pedal is being pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switch off": [0],
+                                               "Switch on": [1]
+                                       }
+                               },
+                               "A.SREngine.Control.Active" : {
+                                       "generic_name": "A.SREngine.Control.Active",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that ASR engine control is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ASREngnCntrlPassiveButInstalled": [0],
+                                               "ASREngineControlActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.SRBreak.Control.Active" : {
+                                       "generic_name": "A.SRBreak.Control.Active",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that ASR brake control is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive, but installed": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.Retarder.Ctrl.Active" : {
+                                       "generic_name": "Vehicle.Retarder.Ctrl.Active",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the active/passive state in all cases when the installed retarder is applied by the driver's demand or by other systems (brakes).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.ABSActive" : {
+                                       "generic_name": "Vehicle.ABSActive",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the ABS is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passiv, but installed": [0],
+                                               "Active": [1]
+                                       }
+                               }
+                       }
+               },
+               "65225": {
+                       "comment": "ISO 11992: Towing vehicle message, electronic brake system #1/2",
+                       "length": 8,
+                       "name": "EBS12",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Road.Curvature" : {
+                                       "generic_name": "Road.Curvature",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.992,
+                                       "comment": "Estimated value of the current road curvature for use by the adaptive cruise control system.",
+                                       "unit": "1/km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pneumatic.Control.Line" : {
+                                       "generic_name": "Pneumatic.Control.Line",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the towing vehicle has a pneumatic control line for the towed vehicle service braking system",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Towing veh without pn ctrl line": [0],
+                                               "Towing veh with pn ctrl line": [1]
+                                       }
+                               },
+                               "A.BSOffroad.Request" : {
+                                       "generic_name": "A.BSOffroad.Request",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Request to activate the ABS off-road function. The switch signal is independent of an actual ABS control situation.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ABS off-road switch off": [0],
+                                               "ABS off-road switch on": [1]
+                                       }
+                               },
+                               "Two.El.Circuits.Brake.Demand" : {
+                                       "generic_name": "Two.El.Circuits.Brake.Demand",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the service brake demand value sent by the towing vehicle can be generated by one or two independent electrical braking circuit(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "One el. circuit brake available": [0],
+                                               "Two el. circuit brake available": [1]
+                                       }
+                               },
+                               "Vehicle.Retarder.Ctrl.Active" : {
+                                       "generic_name": "Vehicle.Retarder.Ctrl.Active",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the active/passive state in all cases when the installed retarder is applied by the driver's demand or by other systems (brakes).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               }
+                       }
+               },
+               "1022": {
+                       "comment": "ISO 11992: Towed vehicle message, electronic brake system #2/1",
+                       "length": 8,
+                       "name": "EBS21",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Wheel.Speed.Diff.Main.Axle" : {
+                                       "generic_name": "Wheel.Speed.Diff.Main.Axle",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Difference between the wheel speed at the right side and and the left side of the main axle.",
+                                       "unit": "km/hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Actual.Retarder.Perc.Torque" : {
+                                       "generic_name": "Actual.Retarder.Perc.Torque",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Actual torque of the retarder as negative percentage of maximum.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Wheel_.Based.Vehicle.Speed" : {
+                                       "generic_name": "Wheel_.Based.Vehicle.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "Actual speed of the vehicle (positive value for forward and backward speed) calculated as the average of the wheel speeds of one axle influenced by slip and filtered by a frequency range of 5 Hz to 20 Hz.",
+                                       "unit": "km/hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Supply.Line.Braking.Request" : {
+                                       "generic_name": "Supply.Line.Braking.Request",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the trailer is requesting to be braked by the commercial vehicle by means of bleeding the pneumatic supply line.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No supply line braking request": [0],
+                                               "Supply line braking request": [1]
+                                       }
+                               },
+                               "V.DCActive" : {
+                                       "generic_name": "V.DCActive",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that Vehicle Dynamic Control (VDC) is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive, but installed": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Autom.Towed.Veh.Break.Active" : {
+                                       "generic_name": "Autom.Towed.Veh.Break.Active",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the automatic towed vehicle braking is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.Service.Brake.Active" : {
+                                       "generic_name": "Vehicle.Service.Brake.Active",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the service brake of the towed vehicle is active/passive, by observing the brake pressure.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.Retarder.Ctrl.Active" : {
+                                       "generic_name": "Vehicle.Retarder.Ctrl.Active",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the active/passive state in all cases when the installed retarder is applied by the driver's demand or by other systems (brakes).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.ABSActive" : {
+                                       "generic_name": "Vehicle.ABSActive",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the ABS is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passiv, but installed": [0],
+                                               "Active": [1]
+                                       }
+                               }
+                       }
+               },
+               "65220": {
+                       "comment": "ISO 11992: Towed vehicle message, electronic brake system #2/2",
+                       "length": 8,
+                       "name": "EBS22",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Reference.Retarder.Torque" : {
+                                       "generic_name": "Reference.Retarder.Torque",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "This parameter is the 100% reference value for all defined indicated retarder torque parameters.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Load.Sum" : {
+                                       "generic_name": "Axle.Load.Sum",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Sum of the static vertical loads of the vehicle axles.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Supply.Line.Braking.Request" : {
+                                       "generic_name": "Supply.Line.Braking.Request",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the trailer is requesting to be braked by the commercial vehicle by means of bleeding the pneumatic supply line.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No supply line braking request": [0],
+                                               "Supply line braking request": [1]
+                                       }
+                               },
+                               "Loading.Ramp.Approach.Assist" : {
+                                       "generic_name": "Loading.Ramp.Approach.Assist",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "The parameter indicates whether the loading ramp approach assistance is activated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Assistance not active": [0],
+                                               "Assistance active": [1]
+                                       }
+                               },
+                               "Spring.Brake.Engaged" : {
+                                       "generic_name": "Spring.Brake.Engaged",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the vehicle spring brake is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle spring brake is released": [0],
+                                               "Vehicle spring brake is engaged": [1]
+                                       }
+                               },
+                               "Electr.Load.Prop.Func" : {
+                                       "generic_name": "Electr.Load.Prop.Func",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the vehicle is equipped with an electrical load proportional function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle without el. load proport": [0],
+                                               "Vehicle with el. load proportion": [1]
+                                       }
+                               },
+                               "Spring.Brake.Installed" : {
+                                       "generic_name": "Spring.Brake.Installed",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the vehicle has one or more axle(s) fitted with spring brakes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle without spring brakes": [0],
+                                               "Vehicle with spring brakes": [1]
+                                       }
+                               },
+                               "Vehicle.Type" : {
+                                       "generic_name": "Vehicle.Type",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Information to identify a dolly axle within the road train.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Towing or towed vehicle": [0],
+                                               "Dolly axle": [1]
+                                       }
+                               },
+                               "Elec.Supply.Of.Non.Braking.Sys" : {
+                                       "generic_name": "Elec.Supply.Of.Non.Braking.Sys",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the status of the supply of non-braking systems.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Supply switched off": [0],
+                                               "Supply switched on": [1]
+                                       }
+                               },
+                               "Amber.Warning.Signal.Req" : {
+                                       "generic_name": "Amber.Warning.Signal.Req",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Request from the towed vehicle to the commercial vehicle to activate the amber warning signal on the commercial vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No towed vehicle failure indicat": [0],
+                                               "Towed vehicle failure indicated": [1]
+                                       }
+                               },
+                               "Red.Warning.Signal.Request" : {
+                                       "generic_name": "Red.Warning.Signal.Request",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Request from the towed vehicle to the commercial vehicle to activate the red warning signal on the commercial vehicle, which indicates certain specified failures within the braking equipment of the towed vehicles.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No towed vehicle failure indicat": [0],
+                                               "Towed vehicle failure indicated": [1]
+                                       }
+                               },
+                               "Vehicle.Electr.Supply.Suff" : {
+                                       "generic_name": "Vehicle.Electr.Supply.Suff",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the actual supply voltage is sufficient/insufficient for proper brake function (including over voltage).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle el. supply insufficient": [0],
+                                               "Vehicle el. supply sufficient": [1]
+                                       }
+                               },
+                               "Autom.Towed.Veh.Break.Active" : {
+                                       "generic_name": "Autom.Towed.Veh.Break.Active",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the automatic towed vehicle braking is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.Service.Brake.Active" : {
+                                       "generic_name": "Vehicle.Service.Brake.Active",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the service brake of the towed vehicle is active/passive, by observing the brake pressure.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.Retarder.Ctrl.Active" : {
+                                       "generic_name": "Vehicle.Retarder.Ctrl.Active",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the active/passive state in all cases when the installed retarder is applied by the driver's demand or by other systems (brakes).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passive": [0],
+                                               "Active": [1]
+                                       }
+                               },
+                               "Vehicle.ABSActive" : {
+                                       "generic_name": "Vehicle.ABSActive",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the ABS is active/passive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Passiv, but installed": [0],
+                                               "Active": [1]
+                                       }
+                               }
+                       }
+               },
+               "65222": {
+                       "comment": "ISO 11992: Towed vehicle message, electronic brake system #2/3",
+                       "length": 8,
+                       "name": "EBS23",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Pneumatic.Supply.Pressure" : {
+                                       "generic_name": "Pneumatic.Supply.Pressure",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "Actual supply pressure of the reservoir of the braking system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brake.Temperature" : {
+                                       "generic_name": "Brake.Temperature",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2500,
+                                       "comment": "Actual brake temperature.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brake.Lining" : {
+                                       "generic_name": "Brake.Lining",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Actual relative value of brake lining of a specific brake.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tyre.Pressure" : {
+                                       "generic_name": "Tyre.Pressure",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2500,
+                                       "comment": "Actual tyre pressure without corrections.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tyre.Wheel.Ident.Temp2" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Temp2",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Second part of identification number of the tyre or wheel (the number of axles).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle position not identified": [0],
+                                               "Axle position 1": [1],
+                                               "Axle position 2": [2],
+                                               "Axle position 3": [3],
+                                               "Axle position 4": [4],
+                                               "Axle position 5": [5],
+                                               "Axle position 6": [6],
+                                               "Axle position 7": [7],
+                                               "Axle position 8": [8],
+                                               "Axle position 9": [9],
+                                               "Axle position 10": [10],
+                                               "Axle position 11": [11],
+                                               "Axle position 12": [12],
+                                               "Axle position 13": [13],
+                                               "Axle position 14": [14],
+                                               "Axle position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Ident.Temp1" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Temp1",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "First part of identification number of the tyre or wheel (position on each axle).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Wheel position not identified": [0],
+                                               "Wheel position 1": [1],
+                                               "Wheel position 2": [2],
+                                               "Wheel position 3": [3],
+                                               "Wheel position 4": [4],
+                                               "Wheel position 5": [5],
+                                               "Wheel position 6": [6],
+                                               "Wheel position 7": [7],
+                                               "Wheel position 8": [8],
+                                               "Wheel position 9": [9],
+                                               "Wheel position 10": [10],
+                                               "Wheel position 11": [11],
+                                               "Wheel position 12": [12],
+                                               "Wheel position 13": [13],
+                                               "Wheel position 14": [14],
+                                               "Wheel position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Ident.Pressure2" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Pressure2",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Second part of identification number of the tyre or wheel (the number of axles).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle position not identified": [0],
+                                               "Axle position 1": [1],
+                                               "Axle position 2": [2],
+                                               "Axle position 3": [3],
+                                               "Axle position 4": [4],
+                                               "Axle position 5": [5],
+                                               "Axle position 6": [6],
+                                               "Axle position 7": [7],
+                                               "Axle position 8": [8],
+                                               "Axle position 9": [9],
+                                               "Axle position 10": [10],
+                                               "Axle position 11": [11],
+                                               "Axle position 12": [12],
+                                               "Axle position 13": [13],
+                                               "Axle position 14": [14],
+                                               "Axle position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Ident.Pressure1" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Pressure1",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "First part of identification number of the tyre or wheel (position on each axle).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Wheel position not identified": [0],
+                                               "Wheel position 1": [1],
+                                               "Wheel position 2": [2],
+                                               "Wheel position 3": [3],
+                                               "Wheel position 4": [4],
+                                               "Wheel position 5": [5],
+                                               "Wheel position 6": [6],
+                                               "Wheel position 7": [7],
+                                               "Wheel position 8": [8],
+                                               "Wheel position 9": [9],
+                                               "Wheel position 10": [10],
+                                               "Wheel position 11": [11],
+                                               "Wheel position 12": [12],
+                                               "Wheel position 13": [13],
+                                               "Wheel position 14": [14],
+                                               "Wheel position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Ident.Lining2" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Lining2",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Second part of identification number of the tyre or wheel (the number of axles).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle position not identified": [0],
+                                               "Axle position 1": [1],
+                                               "Axle position 2": [2],
+                                               "Axle position 3": [3],
+                                               "Axle position 4": [4],
+                                               "Axle position 5": [5],
+                                               "Axle position 6": [6],
+                                               "Axle position 7": [7],
+                                               "Axle position 8": [8],
+                                               "Axle position 9": [9],
+                                               "Axle position 10": [10],
+                                               "Axle position 11": [11],
+                                               "Axle position 12": [12],
+                                               "Axle position 13": [13],
+                                               "Axle position 14": [14],
+                                               "Axle position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Ident.Lining1" : {
+                                       "generic_name": "Tyre.Wheel.Ident.Lining1",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "First part of identification number of the tyre or wheel (position on each axle).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Wheel position not identified": [0],
+                                               "Wheel position 1": [1],
+                                               "Wheel position 2": [2],
+                                               "Wheel position 3": [3],
+                                               "Wheel position 4": [4],
+                                               "Wheel position 5": [5],
+                                               "Wheel position 6": [6],
+                                               "Wheel position 7": [7],
+                                               "Wheel position 8": [8],
+                                               "Wheel position 9": [9],
+                                               "Wheel position 10": [10],
+                                               "Wheel position 11": [11],
+                                               "Wheel position 12": [12],
+                                               "Wheel position 13": [13],
+                                               "Wheel position 14": [14],
+                                               "Wheel position 15": [15]
+                                       }
+                               },
+                               "Vehicle.Pneum.Supply.Suff" : {
+                                       "generic_name": "Vehicle.Pneum.Supply.Suff",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the actual supply pressure of the reservoir of the braking system is insufficient or sufficient.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Pneumatic supply insufficient": [0],
+                                               "Pneumatic supply sufficient": [1]
+                                       }
+                               },
+                               "Brake.Temperature.Status" : {
+                                       "generic_name": "Brake.Temperature.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the brake temperature is higher than a specific level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Brake temperature out of range": [0],
+                                               "Brake temperature normal": [1]
+                                       }
+                               },
+                               "Brake.Lining.Sufficient" : {
+                                       "generic_name": "Brake.Lining.Sufficient",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the brake lining is sufficient/insufficient.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Brake linings insufficient": [0],
+                                               "Brake linings sufficient": [1]
+                                       }
+                               },
+                               "Tyre.Pressure.Sufficient" : {
+                                       "generic_name": "Tyre.Pressure.Sufficient",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the tyre pressure is insufficient",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Tyre pressure insufficient": [0],
+                                               "Tyre pressure sufficient": [1]
+                                       }
+                               }
+                       }
+               },
+               "58110": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/1GPM 11 replaces GFM 11 in ISO 11992:1998 part 3",
+                       "length": 8,
+                       "name": "GPM11",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "O.DDRequest" : {
+                                       "generic_name": "O.DDRequest",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to switch on or off the obstacle detection device (ODD).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ODD off": [0],
+                                               "ODD on": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Anti.Theft.Device.Req" : {
+                                       "generic_name": "Anti.Theft.Device.Req",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate the anti-theft device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Anti-theft device off": [0],
+                                               "Anti-theft device on": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Vehicle.Type" : {
+                                       "generic_name": "Vehicle.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Information to identify a dolly axle within the road train.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Towing or towed vehicle": [0],
+                                               "Dolly axle": [1]
+                                       }
+                               }
+                       }
+               },
+               "65117": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/2",
+                       "length": 8,
+                       "name": "GPM12",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Max.Vehicle.Speed.Limit" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Maximum vehicle velocity allowed.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Speed.Upper.Limit" : {
+                                       "generic_name": "Engine.Speed.Upper.Limit",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The engine speed which cannot be exceeded.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Speed.Lower.Limit" : {
+                                       "generic_name": "Engine.Speed.Lower.Limit",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8191.875,
+                                       "comment": "The minimum engine speed which the engine is allowed to reach.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65119": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/3",
+                       "length": 8,
+                       "name": "GPM13",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Engine.Torque.Mode" : {
+                                       "generic_name": "Engine.Torque.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State signal which indicates which engine torque mode is currently generating, limiting, or controlling the torque",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Low idle governor/no request (de": [0],
+                                               "Accelerator pedal/operator selec": [1],
+                                               "Cruise control": [2],
+                                               "PTO governor": [3],
+                                               "Road speed governor": [4],
+                                               "ASR control": [5],
+                                               "Transmission control": [6],
+                                               "ABS control": [7],
+                                               "Torque limiting": [8],
+                                               "High speed governor": [9],
+                                               "Braking system": [10],
+                                               "Remote accelerator": [11],
+                                               "Not available": [15]
+                                       }
+                               },
+                               "Vehicle.Speed" : {
+                                       "generic_name": "Vehicle.Speed",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "None",
+                                       "unit": "km/hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Load.At.Current.Speed" : {
+                                       "generic_name": "Percent.Load.At.Current.Speed",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "The ratio of actual engine percent torque to maximum indicated torque available at the current engine speed, clipped to zero torque during engine braking.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Speed" : {
+                                       "generic_name": "Engine.Speed",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.88,
+                                       "comment": "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided bythe number of cylinders.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Actual.Engine_.Perc.Torque" : {
+                                       "generic_name": "Actual.Engine_.Perc.Torque",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The calculated output torque of the engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drivers.Demand.Engine_.Perc.Torque" : {
+                                       "generic_name": "Drivers.Demand.Engine_.Perc.Torque",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque output of the engine requested by the driver.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Running" : {
+                                       "generic_name": "Engine.Running",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates whether the engine is running.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Engine not running": [0],
+                                               "Engine running": [1]
+                                       }
+                               },
+                               "Engine.Control.Allowed" : {
+                                       "generic_name": "Engine.Control.Allowed",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Switch signal which indicates that engine control is allowed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Engine control not allowed": [0],
+                                               "Engine control allowed": [1]
+                                       }
+                               }
+                       }
+               },
+               "65121": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/4",
+                       "length": 8,
+                       "name": "GPM14",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Clutch.Indptd.PTOFeedback" : {
+                                       "generic_name": "Clutch.Indptd.PTOFeedback",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the current state of the clutch independent power take off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not engaged": [0],
+                                               "Engaged": [1]
+                                       }
+                               },
+                               "Accel.Pedal.Position" : {
+                                       "generic_name": "Accel.Pedal.Position",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The ratio of actual accelerator pedal position to maximum pedal position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Accel.Pedal.Low.Idle.Switch" : {
+                                       "generic_name": "Accel.Pedal.Low.Idle.Switch",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Switch signal which indicates whether the accelerator pedal low idle switch is opened or closed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not in low idle condition": [0],
+                                               "In low idle condition": [1]
+                                       }
+                               },
+                               "Starter.Active" : {
+                                       "generic_name": "Starter.Active",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates whether the starter is in use.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Starter not active": [0],
+                                               "Starter active": [1]
+                                       }
+                               },
+                               "Torque.Conv.Oil.Temp" : {
+                                       "generic_name": "Torque.Conv.Oil.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature of the torque converter lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Torque.Convt.Oil.Temp.Warning" : {
+                                       "generic_name": "Torque.Convt.Oil.Temp.Warning",
+                                       "bit_position": 27,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2,
+                                       "comment": "Signal which indicates that the torque converter oil temperature has reached its warning level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No warning": [0],
+                                               "Prewarning": [1],
+                                               "Warning": [2]
+                                       }
+                               },
+                               "P.TOControl.Allowed" : {
+                                       "generic_name": "P.TOControl.Allowed",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Switch signal which indicates that PTO control is allowed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PTO control not allowed": [0],
+                                               "PTO control allowed": [1]
+                                       }
+                               },
+                               "Sec.Engine.Mtd.PTOFeedback" : {
+                                       "generic_name": "Sec.Engine.Mtd.PTOFeedback",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the current state of the second engine mounted power take off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Limits not activated": [0],
+                                               "Limits activated": [1]
+                                       }
+                               },
+                               "First.Engine.Mtd.PTOFeedback" : {
+                                       "generic_name": "First.Engine.Mtd.PTOFeedback",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the current state of the first engine mounted power take off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Limits not activated": [0],
+                                               "Limits activated": [1]
+                                       }
+                               },
+                               "Sec.Clutch.Dptd.PTOFeedback" : {
+                                       "generic_name": "Sec.Clutch.Dptd.PTOFeedback",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the current state of the second clutch dependent power take off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not engaged": [0],
+                                               "Engaged": [1]
+                                       }
+                               },
+                               "First.Clutch.Dpdt.PTOFeedback" : {
+                                       "generic_name": "First.Clutch.Dpdt.PTOFeedback",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the current state of the first clutch dependent power take off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not engaged": [0],
+                                               "Engaged": [1]
+                                       }
+                               },
+                               "Current.Gear" : {
+                                       "generic_name": "Current.Gear",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The gear currently engaged in the transmission or the last gear engaged while the transmission is in process of shifting to the new or selected gear.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Clutch.Slip" : {
+                                       "generic_name": "Percent.Clutch.Slip",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Parameter which represents the ratio of input shaft speed to current engine speed (in percent).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65123": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/5",
+                       "length": 8,
+                       "name": "GPM15",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Reference.Engine.Torque" : {
+                                       "generic_name": "Reference.Engine.Torque",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The 100 % reference value for all defined indicated engine torque parameters.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fuel.Level.Warning" : {
+                                       "generic_name": "Fuel.Level.Warning",
+                                       "bit_position": 36,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This signal indicates the decrease of the fuel level to a certain minimum.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Fuel level warning off": [0],
+                                               "Fuel level warning on": [1]
+                                       }
+                               },
+                               "Engine.Oil.Pressure.Warning" : {
+                                       "generic_name": "Engine.Oil.Pressure.Warning",
+                                       "bit_position": 34,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the engine oil pressure has reached its warning level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No warning": [0],
+                                               "Warning": [1]
+                                       }
+                               },
+                               "Engine.Coolant.Temp.Warning" : {
+                                       "generic_name": "Engine.Coolant.Temp.Warning",
+                                       "bit_position": 31,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2,
+                                       "comment": "Signal which indicates that the engine coolant temperature has reached its warning level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No warning": [0],
+                                               "Prewarning": [1],
+                                               "Warning": [2]
+                                       }
+                               },
+                               "Engine.Oil.Pressure" : {
+                                       "generic_name": "Engine.Oil.Pressure",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gauge pressure of the oil in the engine lubrication system as provided by the oil pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Coolant.Temperature" : {
+                                       "generic_name": "Engine.Coolant.Temperature",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "None",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Oil.Temperature" : {
+                                       "generic_name": "Engine.Oil.Temperature",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature of the engine lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65125": {
+                       "comment": "ISO 11992: Towing vehicle message, general purpose message #1/6",
+                       "length": 8,
+                       "name": "GPM16",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Ambient.Air.Temperature" : {
+                                       "generic_name": "Ambient.Air.Temperature",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature of air surrounding vehicle.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "57854": {
+                       "comment": "ISO 11992: Towed vehicle message, general purpose message #2/1GPM 21 replaces GFM 21 in ISO 11992:1998 part 3",
+                       "length": 8,
+                       "name": "GPM21",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Type" : {
+                                       "generic_name": "Vehicle.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Information to identify a dolly axle within the road train.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Towing or towed vehicle": [0],
+                                               "Dolly axle": [1]
+                                       }
+                               }
+                       }
+               },
+               "65224": {
+                       "comment": "ISO 11992: Towed vehicle message, general purpose message #2/2GPM22 replaces GFM 24 in ISO 11992:1998 part 3",
+                       "length": 8,
+                       "name": "GPM22",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Body.Pressure" : {
+                                       "generic_name": "Body.Pressure",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 25,
+                                       "comment": "The actual pressure in a body on the towed vehicle.",
+                                       "unit": "bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Body.Fluid.Level" : {
+                                       "generic_name": "Body.Fluid.Level",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The actual fluid level in a body on the towed vehicle.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Thermal.Body.Temperature" : {
+                                       "generic_name": "Thermal.Body.Temperature",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The actual temperature in a thermal body on the towed vehicle.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rear.Obstacle.Distance" : {
+                                       "generic_name": "Rear.Obstacle.Distance",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "The actual distance between the back of the towed vehicle and any obstacle.",
+                                       "unit": "cm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Anti.Theft.Device.Status" : {
+                                       "generic_name": "Anti.Theft.Device.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the anti-theft device is switched on or off.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Anti-theft device off": [0],
+                                               "Anti-theft device on": [1]
+                                       }
+                               },
+                               "O.DDStatus" : {
+                                       "generic_name": "O.DDStatus",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that an obstacle detection device (ODD) is active/inactive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ODD inactive": [0],
+                                               "ODD active": [1]
+                                       }
+                               }
+                       }
+               },
+               "65120": {
+                       "comment": "ISO 11992: Towed vehicle message, general purpose message #2/3",
+                       "length": 8,
+                       "name": "GPM23",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Req.Engine.Speed.Upper.Lim" : {
+                                       "generic_name": "Req.Engine.Speed.Upper.Lim",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The requested engine speed which is not to be exceeded.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Req.Engine.Speed.Lower.Lim" : {
+                                       "generic_name": "Req.Engine.Speed.Lower.Lim",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The requested minimum engine speed which the engine is to allow.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Req.Engine.Torque.Limit" : {
+                                       "generic_name": "Req.Engine.Torque.Limit",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The requested engine torque that the engine is not allowed to exceed, indicated as a ratio of the reference engine torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Req.Engine.Speed.Limit" : {
+                                       "generic_name": "Req.Engine.Speed.Limit",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The requested vehicle speed which the vehicle is not allowed to exceed.",
+                                       "unit": "km/hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Req.Engine.Speed" : {
+                                       "generic_name": "Req.Engine.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "This is the engine speed which the engine is expected to operate at.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65122": {
+                       "comment": "ISO 11992: Towed vehicle message, general purpose message #2/4",
+                       "length": 8,
+                       "name": "GPM24",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sec.Engine.Mtd.PTOSwitch" : {
+                                       "generic_name": "Sec.Engine.Mtd.PTOSwitch",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the second engine mounted power take off switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Sec.Clutch.Dpdt.PTOSwitch" : {
+                                       "generic_name": "Sec.Clutch.Dpdt.PTOSwitch",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the second clutch dependent power take off switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "First.Clutch.Dpdt.PTOSwitch" : {
+                                       "generic_name": "First.Clutch.Dpdt.PTOSwitch",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the first clutch dependent power take off switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Operating.Panel.Active" : {
+                                       "generic_name": "Operating.Panel.Active",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the operating panel is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Operating panel not active": [0],
+                                               "Operating panel active": [1]
+                                       }
+                               },
+                               "Refuse.Packer.Step.Switch" : {
+                                       "generic_name": "Refuse.Packer.Step.Switch",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the refuse packer step switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Engine.Stop.Switch" : {
+                                       "generic_name": "Engine.Stop.Switch",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the engine stop switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Engine.Start.Switch" : {
+                                       "generic_name": "Engine.Start.Switch",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the state of the engine start switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Starter.Lockout.Switch" : {
+                                       "generic_name": "Starter.Lockout.Switch",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the starter lockout switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Rqsted.Percent.Clutch.Slip" : {
+                                       "generic_name": "Rqsted.Percent.Clutch.Slip",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Command signal to influence the clutch.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "First.Engine.Mtd.PTOSwitch" : {
+                                       "generic_name": "First.Engine.Mtd.PTOSwitch",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the first engine mounted power take off switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               },
+                               "Clutch.Indpdt.PTOSwitch" : {
+                                       "generic_name": "Clutch.Indpdt.PTOSwitch",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the state of the clutch independent power take off switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Switched off": [0],
+                                               "Switched on": [1]
+                                       }
+                               }
+                       }
+               },
+               "65124": {
+                       "comment": "ISO 11992: Towed vehicle message, general purpose message #2/5",
+                       "length": 8,
+                       "name": "GPM25",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trailer.Left.Side.Marker.Light" : {
+                                       "generic_name": "Trailer.Left.Side.Marker.Light",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand side marker light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Reversing.Light" : {
+                                       "generic_name": "Trailer.Left.Reversing.Light",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand reversing light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Rear.Wid.Ind.Light" : {
+                                       "generic_name": "Trailer.Left.Rear.Wid.Ind.Light",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand rear width indicator light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Rear.Reg.Plt.Light" : {
+                                       "generic_name": "Trailer.Left.Rear.Reg.Plt.Light",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand rear registration-plate light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Rear.Light" : {
+                                       "generic_name": "Trailer.Left.Rear.Light",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand rear light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Rear.Fog.Light" : {
+                                       "generic_name": "Trailer.Left.Rear.Fog.Light",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand rear fog light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Dir.Ind.Light" : {
+                                       "generic_name": "Trailer.Left.Dir.Ind.Light",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand direction indicator light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Crn.Marker.Light" : {
+                                       "generic_name": "Trailer.Left.Crn.Marker.Light",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand corner marker light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Interior.Light" : {
+                                       "generic_name": "Trailer.Interior.Light",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer interior light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Work.Lamp" : {
+                                       "generic_name": "Trailer.Work.Lamp",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer work lamp(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Rotating.Ident.Light" : {
+                                       "generic_name": "Trailer.Rotating.Ident.Light",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer rotating identification light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Stop.Light" : {
+                                       "generic_name": "Trailer.Right.Stop.Light",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand stop light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Side.Mrk.Light" : {
+                                       "generic_name": "Trailer.Right.Side.Mrk.Light",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand side marker light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Reversing.Light" : {
+                                       "generic_name": "Trailer.Right.Reversing.Light",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand reversing light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trail.Right.Rear.Wid.Ind.Light" : {
+                                       "generic_name": "Trail.Right.Rear.Wid.Ind.Light",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand rear width indicator light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Rear.Reg.Plt.Light" : {
+                                       "generic_name": "Trailer.Right.Rear.Reg.Plt.Light",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand rear registration-plate light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Rear.Light" : {
+                                       "generic_name": "Trailer.Right.Rear.Light",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand rear light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Rear.Fog.Light" : {
+                                       "generic_name": "Trailer.Right.Rear.Fog.Light",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand rear fog light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Dir.Ind.Light" : {
+                                       "generic_name": "Trailer.Right.Dir.Ind.Light",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand direction indicator light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Right.Crn.Marker.Light" : {
+                                       "generic_name": "Trailer.Right.Crn.Marker.Light",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer right-hand corner marker light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Rear.Warning.Light" : {
+                                       "generic_name": "Trailer.Rear.Warning.Light",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer rear warning light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               },
+                               "Trailer.Left.Stop.Light" : {
+                                       "generic_name": "Trailer.Left.Stop.Light",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal indicates the state of the trailer left-hand stop light(s).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp(s) not lit": [0],
+                                               "Lamp(s) lit": [1]
+                                       }
+                               }
+                       }
+               },
+               "56318": {
+                       "comment": "Reserved for ISO 15765",
+                       "length": 8,
+                       "name": "ISO15765_Funct",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "SN" : {
+                                       "generic_name": "SN",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "multiplex": "2",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Separation.Time" : {
+                                       "generic_name": "Separation.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Block.Size" : {
+                                       "generic_name": "Block.Size",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Flow.Status" : {
+                                       "generic_name": "Flow.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Continue To Send": [0],
+                                               "Wait ": [1],
+                                               "Overflow": [2]
+                                       }
+                               },
+                               "First.Frame.Data.Length" : {
+                                       "generic_name": "First.Frame.Data.Length",
+                                       "bit_position": 7,
+                                       "bit_size": 12,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4095,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "unit": "Byte",
+                                       "is_big_endian": true,
+                                       "is_signed": false
+                               },
+                               "Single.Frame.Data.Length" : {
+                                       "generic_name": "Single.Frame.Data.Length",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Protocol.Ctrl.Information" : {
+                                       "generic_name": "Protocol.Ctrl.Information",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Part of Network Protocol Control Information (N_PCI) of a ISO 15765 message.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Single frame": [0],
+                                               "First frame": [1],
+                                               "Consecutive frame": [2],
+                                               "Flow control ": [3]
+                                       }
+                               }
+                       }
+               },
+               "56062": {
+                       "comment": "Reserved for ISO 15765",
+                       "length": 8,
+                       "name": "ISO15765_Phys",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "SN" : {
+                                       "generic_name": "SN",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "multiplex": "2",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Separation.Time" : {
+                                       "generic_name": "Separation.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Block.Size" : {
+                                       "generic_name": "Block.Size",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Flow.Status" : {
+                                       "generic_name": "Flow.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Continue To Send": [0],
+                                               "Wait ": [1],
+                                               "Overflow": [2]
+                                       }
+                               },
+                               "First.Frame.Data.Length" : {
+                                       "generic_name": "First.Frame.Data.Length",
+                                       "bit_position": 7,
+                                       "bit_size": 12,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4095,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "unit": "Byte",
+                                       "is_big_endian": true,
+                                       "is_signed": false
+                               },
+                               "Single.Frame.Data.Length" : {
+                                       "generic_name": "Single.Frame.Data.Length",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Protocol.Ctrl.Information" : {
+                                       "generic_name": "Protocol.Ctrl.Information",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Part of Network Protocol Control Information (N_PCI) of a ISO 15765 message.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Single frame": [0],
+                                               "First frame": [1],
+                                               "Consecutive frame": [2],
+                                               "Flow control ": [3]
+                                       }
+                               }
+                       }
+               },
+               "60926": {
+                       "comment": "Used to access network interconnection ECU parametrics and database",
+                       "length": 8,
+                       "name": "Network",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Control.Byte" : {
+                                       "generic_name": "Control.Byte",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MFDB_Request": [0],
+                                               "MFDB_Response": [1],
+                                               "MFDB_Add": [2],
+                                               "MFDB_Delete": [3],
+                                               "MFDB_Clear": [4],
+                                               "MFDB_SetMode": [5],
+                                               "MFDB_CreateEntry": [6]
+                                       }
+                               },
+                               "Filter.Mode" : {
+                                       "generic_name": "Filter.Mode",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Filter mode for Network PG",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BlockSpecificPGNs": [0],
+                                               "PassSpecificPGNs": [1]
+                                       }
+                               },
+                               "To.Port" : {
+                                       "generic_name": "To.Port",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Destination port for network PG",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "From.Port" : {
+                                       "generic_name": "From.Port",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Source port for Network PG",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "58622": {
+                       "comment": "ISO 11992: Towing vehicle message, running gear equipment #1/1RGE11 replaces GFM 12 in ISO 11992:1998 part 3",
+                       "length": 8,
+                       "name": "RGE11",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Parking.And.Trailer.Air.Press" : {
+                                       "generic_name": "Parking.And.Trailer.Air.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the circuit or reservoir for the parking brake and the trailer supply.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Driven.Axle.Load" : {
+                                       "generic_name": "Driven.Axle.Load",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Actual static vertical load on driven axle of the commercial vehicle. In case of more than one driven axle the value of the axle with the highest vertical load is transmitted.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Equip.Supply.Pressure" : {
+                                       "generic_name": "Aux.Equip.Supply.Pressure",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the auxiliary circuit.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Stop.Level.Change.Req" : {
+                                       "generic_name": "Stop.Level.Change.Req",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to stop immediately any change of the actual body height level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No stop request": [0],
+                                               "Stop request": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Ramp.Level.Storage.Req" : {
+                                       "generic_name": "Ramp.Level.Storage.Req",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to store the actual body height level as new programmed and memorised ramp levels 1 or 2 in the ECU",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Store ramp level 1": [0],
+                                               "Store ramp level 2": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Level.Control.Req" : {
+                                       "generic_name": "Level.Control.Req",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to enable or disable the automatic level control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable level control": [0],
+                                               "Enable level control": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Ramp.Level.Req" : {
+                                       "generic_name": "Ramp.Level.Req",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the body height to a level programmed and memorised in the ECU.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ramp level 1": [0],
+                                               "Ramp level 2": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Steering.Axle.Locking.Req" : {
+                                       "generic_name": "Steering.Axle.Locking.Req",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to lock the steering axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlock steering axle": [0],
+                                               "Lock steering axle": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Lift.Axle2.Position.Req" : {
+                                       "generic_name": "Lift.Axle2.Position.Req",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the lift axle position / tag axle load condition.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Position down / tag axle laden": [0],
+                                               "Position up / tag axle unladen": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Lift.Axle1.Position.Req" : {
+                                       "generic_name": "Lift.Axle1.Position.Req",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the lift axle position / tag axle load condition.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Position down / tag axle laden": [0],
+                                               "Position up / tag axle unladen": [1],
+                                               "Reserved": [2],
+                                               "Don't care/take no action": [3]
+                                       }
+                               },
+                               "Traction.Help.Req" : {
+                                       "generic_name": "Traction.Help.Req",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the lift axle position / tag axle load condition to transfer more load on the driven axle of the commercial vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No traction help request": [0],
+                                               "Traction help request": [1],
+                                               "Take no action": [3]
+                                       }
+                               },
+                               "Level.Change.Req.Rear.Axle" : {
+                                       "generic_name": "Level.Change.Req.Rear.Axle",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the body height [up (lifting)/down (lowering)] for the rear axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle body up (lifting)": [0],
+                                               "Vehicle body down (lowering)": [1],
+                                               "Take no action": [2]
+                                       }
+                               },
+                               "Level.Change.Req.Front.Axle" : {
+                                       "generic_name": "Level.Change.Req.Front.Axle",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to control the body height [up (lifting)/down (lowering)] for the front axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle body up (lifting)": [0],
+                                               "Vehicle body down (lowering)": [1],
+                                               "Take no action": [2]
+                                       }
+                               },
+                               "Ride.Height.Request" : {
+                                       "generic_name": "Ride.Height.Request",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate a normal ride body height. The normal levels 1 and 2 are trailer specific body heights.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal level 1": [0],
+                                               "Normal level 2": [1],
+                                               "Take no action": [2]
+                                       }
+                               }
+                       }
+               },
+               "58878": {
+                       "comment": "ISO 11992: Towed vehicle message, running gear equipment #2/1RGE21 replaces GFM 22 in ISO 11992:1998 part 3",
+                       "length": 8,
+                       "name": "RGE21",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Level.Control" : {
+                                       "generic_name": "Level.Control",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that the automatic level control is enabled or disabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Level control disabled": [0],
+                                               "Level control enabled": [1]
+                                       }
+                               },
+                               "Nominal.Veh.Body.Level.Rear.Axle" : {
+                                       "generic_name": "Nominal.Veh.Body.Level.Rear.Axle",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Actual nominal vehicle body height.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Nominal.Veh.Body.Level.Front.Axle" : {
+                                       "generic_name": "Nominal.Veh.Body.Level.Front.Axle",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Actual nominal vehicle body height.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Ramp.Level" : {
+                                       "generic_name": "Ramp.Level",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the level of the body height as an anser to 'ramp level request'.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Body not at requested ramp level": [0],
+                                               "Body at requested ramp level": [1]
+                                       }
+                               },
+                               "Normal.Level" : {
+                                       "generic_name": "Normal.Level",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the normal levels of the vehicle independently of a specific request.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal level 1": [0],
+                                               "Normal level 2": [1],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Stop.Level.Change.Acknowledge" : {
+                                       "generic_name": "Stop.Level.Change.Acknowledge",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the stop of any level change due to a 'stop request'.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No stop request": [0],
+                                               "Level change stopped": [1]
+                                       }
+                               },
+                               "Level.Change.Rear.Axle" : {
+                                       "generic_name": "Level.Change.Rear.Axle",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the level change of the body height at the rear axle due to any external requests.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Body lifting/lowering not active": [0],
+                                               "Body lifting/lowering active": [1]
+                                       }
+                               },
+                               "Level.Change.Front.Axle" : {
+                                       "generic_name": "Level.Change.Front.Axle",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the level change of the body height at the front axle due to any external requests.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Body lifting/lowering not active": [0],
+                                               "Body lifting/lowering active": [1]
+                                       }
+                               },
+                               "Ramp.Level.Storage" : {
+                                       "generic_name": "Ramp.Level.Storage",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the storage of a new ramp level in the ECU.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No new storage request": [0],
+                                               "New ramp level stored": [1]
+                                       }
+                               },
+                               "Steering.Axle.Locking" : {
+                                       "generic_name": "Steering.Axle.Locking",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual steering axle locking status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Steering axle unlocked": [0],
+                                               "Steering axle locked": [1]
+                                       }
+                               },
+                               "Lift.Axle2.Pos" : {
+                                       "generic_name": "Lift.Axle2.Pos",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the position / load condition of lift axle / tag axle #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lift.Axle1.Pos" : {
+                                       "generic_name": "Lift.Axle1.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the position / load condition of lift axle / tag axle #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Ramp.Level.Position" : {
+                                       "generic_name": "Ramp.Level.Position",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the ramp level positions of the vehicle independently of a specific request.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ramp level 1": [0],
+                                               "Ramp level 2": [1],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Traction.Help" : {
+                                       "generic_name": "Traction.Help",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates that a load transfer is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Traction help inactive": [0],
+                                               "Traction help active": [1]
+                                       }
+                               },
+                               "Level.Ctrl.Sys.Ride.Height.Level" : {
+                                       "generic_name": "Level.Ctrl.Sys.Ride.Height.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal which indicates the body height position of the vehicle as an answer to 'ride height request'.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Vehicle body not at req. level": [0],
+                                               "Vehicle body at requested level": [1]
+                                       }
+                               }
+                       }
+               },
+               "65116": {
+                       "comment": "ISO 11992: Towed vehicle message, running gear equipment #2/2",
+                       "length": 8,
+                       "name": "RGE22",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rel.Veh.Body.Level.Rear.Axle" : {
+                                       "generic_name": "Rel.Veh.Body.Level.Rear.Axle",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Actual relative vehicle body height.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rel.Veh.Body.Level.Front.Axle" : {
+                                       "generic_name": "Rel.Veh.Body.Level.Front.Axle",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32000,
+                                       "min_value": -32000,
+                                       "max_value": 32255,
+                                       "comment": "Actual relative vehicle body height.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65118": {
+                       "comment": "ISO 11992: Towed vehicle message, running gear equipment #2/3",
+                       "length": 8,
+                       "name": "RGE23",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Tyre.Press.Threshold.Detect" : {
+                                       "generic_name": "Tyre.Press.Threshold.Detect",
+                                       "bit_position": 39,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tyre.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Extreme over pressure": [0],
+                                               "Over pressure": [1],
+                                               "No warning pressure": [2],
+                                               "Under pressure": [3],
+                                               "Extreme under pressure": [4],
+                                               "Not defined": [5],
+                                               "Error indicator": [6],
+                                               "Not available": [7]
+                                       }
+                               },
+                               "Tyre.Module.Power.Supply" : {
+                                       "generic_name": "Tyre.Module.Power.Supply",
+                                       "bit_position": 42,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "Signal indicating the power supply of the tyre module is sufficient to achieve the specified performance of the module.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Insufficient power supply": [0],
+                                               "Sufficient power supply": [1]
+                                       }
+                               },
+                               "Tyre.Temperature" : {
+                                       "generic_name": "Tyre.Temperature",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "The temperature measured by the tyre module.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Air.Leakage.Detection" : {
+                                       "generic_name": "Air.Leakage.Detection",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss of a tyre.",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tyre.Wheel.Identification2" : {
+                                       "generic_name": "Tyre.Wheel.Identification2",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "First part of the identification number of the tyre or whee (number of axles).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle position not identified": [0],
+                                               "Axle position 1": [1],
+                                               "Axle position 2": [2],
+                                               "Axle position 3": [3],
+                                               "Axle position 4": [4],
+                                               "Axle position 5": [5],
+                                               "Axle position 6": [6],
+                                               "Axle position 7": [7],
+                                               "Axle position 8": [8],
+                                               "Axle position 9": [9],
+                                               "Axle position 10": [10],
+                                               "Axle position 11": [11],
+                                               "Axle position 12": [12],
+                                               "Axle position 13": [13],
+                                               "Axle position 14": [14],
+                                               "Axle position 15": [15]
+                                       }
+                               },
+                               "Tyre.Wheel.Identification1" : {
+                                       "generic_name": "Tyre.Wheel.Identification1",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "First part of the identification number of the tyre or whee (position on each axle).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Wheel position not identified": [0],
+                                               "Wheel position 1": [1],
+                                               "Wheel position 2": [2],
+                                               "Wheel position 3": [3],
+                                               "Wheel position 4": [4],
+                                               "Wheel position 5": [5],
+                                               "Wheel position 6": [6],
+                                               "Wheel position 7": [7],
+                                               "Wheel position 8": [8],
+                                               "Wheel position 9": [9],
+                                               "Wheel position 10": [10],
+                                               "Wheel position 11": [11],
+                                               "Wheel position 12": [12],
+                                               "Wheel position 13": [13],
+                                               "Wheel position 14": [14],
+                                               "Wheel position 15": [15]
+                                       }
+                               }
+                       }
+               },
+               "64952": {
+                       "comment": "Diagnostic readiness 3",
+                       "length": 8,
+                       "name": "DM26",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "N.MHCConverting.Catalyst.Completed" : {
+                                       "generic_name": "N.MHCConverting.Catalyst.Completed",
+                                       "bit_position": 59,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "N.MHCConverting.Catalyst.Enabled" : {
+                                       "generic_name": "N.MHCConverting.Catalyst.Enabled",
+                                       "bit_position": 43,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "N.Ox.Converting.Catalyst.Adsorber.Completed" : {
+                                       "generic_name": "N.Ox.Converting.Catalyst.Adsorber.Completed",
+                                       "bit_position": 58,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "N.Ox.Converting.Catalyst.Adsorber.Enabled" : {
+                                       "generic_name": "N.Ox.Converting.Catalyst.Adsorber.Enabled",
+                                       "bit_position": 42,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Diesel.Particulate.Filter.Completed" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Completed",
+                                       "bit_position": 57,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Diesel.Particulate.Filter.Enabled" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Enabled",
+                                       "bit_position": 41,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Boost.Pressure.Control.System.Completed" : {
+                                       "generic_name": "Boost.Pressure.Control.System.Completed",
+                                       "bit_position": 56,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Boost.Pressure.Ctrl.System.Enabled" : {
+                                       "generic_name": "Boost.Pressure.Ctrl.System.Enabled",
+                                       "bit_position": 40,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Misfire.Monitoring.Complete" : {
+                                       "generic_name": "Misfire.Monitoring.Complete",
+                                       "bit_position": 27,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Misfire.Monitoring.Enabled" : {
+                                       "generic_name": "Misfire.Monitoring.Enabled",
+                                       "bit_position": 23,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Fuel.System.Monitoring.Enabled" : {
+                                       "generic_name": "Fuel.System.Monitoring.Enabled",
+                                       "bit_position": 24,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Comprehensive.Compt.Mon.Complete" : {
+                                       "generic_name": "Comprehensive.Compt.Mon.Complete",
+                                       "bit_position": 29,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Comprehensive.Comp.Mon.Enabled" : {
+                                       "generic_name": "Comprehensive.Comp.Mon.Enabled",
+                                       "bit_position": 25,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Second.Air.System.Mon.Complete" : {
+                                       "generic_name": "Second.Air.System.Mon.Complete",
+                                       "bit_position": 50,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Second.Air.System.Mon.Enabled" : {
+                                       "generic_name": "Second.Air.System.Mon.Enabled",
+                                       "bit_position": 34,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Mon.Complete" : {
+                                       "generic_name": "Oxygen.Sensor.Mon.Complete",
+                                       "bit_position": 52,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Mon.Enabled" : {
+                                       "generic_name": "Oxygen.Sensor.Mon.Enabled",
+                                       "bit_position": 36,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Heater.Mon.Complete" : {
+                                       "generic_name": "Oxygen.Sensor.Heater.Mon.Complete",
+                                       "bit_position": 53,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Heater.Mon.Enabled" : {
+                                       "generic_name": "Oxygen.Sensor.Heater.Mon.Enabled",
+                                       "bit_position": 37,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Heated.Catalyst.Mon.Complete" : {
+                                       "generic_name": "Heated.Catalyst.Mon.Complete",
+                                       "bit_position": 48,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Heated.Catalyst.Mon.Enabled" : {
+                                       "generic_name": "Heated.Catalyst.Mon.Enabled",
+                                       "bit_position": 32,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Evaporative.System.Mon.Complete" : {
+                                       "generic_name": "Evaporative.System.Mon.Complete",
+                                       "bit_position": 49,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Evaporative.System.Mon.Enabled" : {
+                                       "generic_name": "Evaporative.System.Mon.Enabled",
+                                       "bit_position": 33,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "E.GRSystem.Monitoring.Complete" : {
+                                       "generic_name": "E.GRSystem.Monitoring.Complete",
+                                       "bit_position": 54,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "E.GRSystem.Monitoring.Enabled" : {
+                                       "generic_name": "E.GRSystem.Monitoring.Enabled",
+                                       "bit_position": 38,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Cold.Start.Aid.System.Mon.Complete" : {
+                                       "generic_name": "Cold.Start.Aid.System.Mon.Complete",
+                                       "bit_position": 55,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Cold.Start.Aid.System.Mon.Enabled" : {
+                                       "generic_name": "Cold.Start.Aid.System.Mon.Enabled",
+                                       "bit_position": 39,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledForRestOfCycle": [0],
+                                               "EnabledForCycle": [1]
+                                       }
+                               },
+                               "Catalyst.Mon.Complete" : {
+                                       "generic_name": "Catalyst.Mon.Complete",
+                                       "bit_position": 47,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Catalyst.Mon.Enabled" : {
+                                       "generic_name": "Catalyst.Mon.Enabled",
+                                       "bit_position": 31,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "A.CSystem.Refrigerant.Mon.Complete" : {
+                                       "generic_name": "A.CSystem.Refrigerant.Mon.Complete",
+                                       "bit_position": 51,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "A.CSystem.Refrigerant.Mon.Enabled" : {
+                                       "generic_name": "A.CSystem.Refrigerant.Mon.Enabled",
+                                       "bit_position": 35,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Fuel.System.Monitoring.Complete" : {
+                                       "generic_name": "Fuel.System.Monitoring.Complete",
+                                       "bit_position": 28,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompleteCycleOrNotSupported": [0],
+                                               "NotCompleteCycle": [1]
+                                       }
+                               },
+                               "Num.Of.Warm.Ups.Since.DTCs.Cleared" : {
+                                       "generic_name": "Num.Of.Warm.Ups.Since.DTCs.Cleared",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Time.Since.Engine.Start" : {
+                                       "generic_name": "Time.Since.Engine.Start",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "None",
+                                       "unit": "sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "54526": {
+                       "comment": "Data security",
+                       "length": 8,
+                       "name": "DM18",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Security.Entity.Length.High" : {
+                                       "generic_name": "Security.Entity.Length.High",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Security.Entity.Type" : {
+                                       "generic_name": "Security.Entity.Type",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Data is Long Seed": [0],
+                                               "Data is Long Key": [1],
+                                               "Data is Session Key": [2],
+                                               "Data is Certificate": [3]
+                                       }
+                               },
+                               "Security.Entity.Length" : {
+                                       "generic_name": "Security.Entity.Length",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1785,
+                                       "comment": "None",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "1278": {
+                       "comment": "External Brake Request",
+                       "length": 8,
+                       "name": "XBR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "X.BRMessage.Checksum" : {
+                                       "generic_name": "X.BRMessage.Checksum",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The XBR message checksum is used to verify the signal path from the demanding device to the brake controller on",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "X.BRMessage.Counter" : {
+                                       "generic_name": "X.BRMessage.Counter",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The XBR message counter is to verify the signal path from the demanding device to the brake controller on electronic",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "X.BRCtrl.Mode" : {
+                                       "generic_name": "X.BRCtrl.Mode",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The XBR Control Mode is used as an input to the brake system and defines how the external acceleration demand has to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OverrideDisabled": [0],
+                                               "AccelerationControlWithAddMode": [1],
+                                               "AccelerationControlWithMaxMode": [2],
+                                               "NotDefined": [3]
+                                       }
+                               },
+                               "X.BRPriority" : {
+                                       "generic_name": "X.BRPriority",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The XBR Priority is used as an input to the brake system to manage the priority of overlapping external and internal requests.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HghstPrrtyUsdFrEmrgncySttnsEgFr": [0],
+                                               "HighPriorityNotDefined": [1],
+                                               "MdmPrrtyUsdFrACCSystmsThsMdDsNt": [2],
+                                               "LwPrrtyUsdInOvrrdDsbldXBRCtrlMd": [3]
+                                       }
+                               },
+                               "X.BREBIMode" : {
+                                       "generic_name": "X.BREBIMode",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The XBR EBI (Endurance Brake Integration) Mode is used as an input for the brake system to prescribe the use of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NEndrnceBrakeIntegrationAllowed": [0],
+                                               "OnlyEnduranceBrakesAllowed": [1],
+                                               "EndranceBrakeIntegrationAllowed": [2],
+                                               "NotDefined": [3]
+                                       }
+                               },
+                               "Extl.Acceleration.Demand" : {
+                                       "generic_name": "Extl.Acceleration.Demand",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00048828125,
+                                       "offset": -15.687,
+                                       "min_value": -15.687,
+                                       "max_value": 15.687,
+                                       "comment": "Parameter provided to the brake system from external sources.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "X.BRUrgency" : {
+                                       "generic_name": "X.BRUrgency",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The idea of the urgency value is to adjust the endurance brake integration behavior in the EBS system according to the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SttnNtCrtclLwRtrdrDynmcsArTlrtd": [0],
+                                               "LwRtrdrDynmcsShllBFllyCmpnstdBy": [4]
+                                       }
+                               }
+                       }
+               },
+               "65279": {
+                       "comment": "Water in Fuel Indicator",
+                       "length": 8,
+                       "name": "WFI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Water.In.Fuel.Indicator" : {
+                                       "generic_name": "Water.In.Fuel.Indicator",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the presence of water in the fuel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No": [0],
+                                               "Yes": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65258": {
+                       "comment": "Vehicle Weight",
+                       "length": 8,
+                       "name": "VW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Axle.Location" : {
+                                       "generic_name": "Axle.Location",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "To identify to which of several similar devices (such as tires or fuel tanks) the information applies.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle0_Position0": [0],
+                                               "Axle1_Position0": [16],
+                                               "Axle2_Position0": [32],
+                                               "Axle3_Position0": [48]
+                                       }
+                               },
+                               "Cargo.Weight_30" : {
+                                       "generic_name": "Cargo.Weight_30",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The mass of freight carried.",
+                                       "multiplex": "48",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cargo.Weight_20" : {
+                                       "generic_name": "Cargo.Weight_20",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The mass of freight carried.",
+                                       "multiplex": "32",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cargo.Weight_10" : {
+                                       "generic_name": "Cargo.Weight_10",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The mass of freight carried.",
+                                       "multiplex": "16",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cargo.Weight_00" : {
+                                       "generic_name": "Cargo.Weight_00",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The mass of freight carried.",
+                                       "multiplex": "0",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trailer.Weight_30" : {
+                                       "generic_name": "Trailer.Weight_30",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass of freight-carrying vehicle designed to be pulled by truck, including the weight of the contents.",
+                                       "multiplex": "48",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trailer.Weight_20" : {
+                                       "generic_name": "Trailer.Weight_20",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass of freight-carrying vehicle designed to be pulled by truck, including the weight of the contents.",
+                                       "multiplex": "32",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trailer.Weight_10" : {
+                                       "generic_name": "Trailer.Weight_10",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass of freight-carrying vehicle designed to be pulled by truck, including the weight of the contents.",
+                                       "multiplex": "16",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trailer.Weight_00" : {
+                                       "generic_name": "Trailer.Weight_00",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass of freight-carrying vehicle designed to be pulled by truck, including the weight of the contents.",
+                                       "multiplex": "0",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Weight_30" : {
+                                       "generic_name": "Axle.Weight_30",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Total mass imposed by the tires on the road surface at the specified axle.",
+                                       "multiplex": "48",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Weight_20" : {
+                                       "generic_name": "Axle.Weight_20",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Total mass imposed by the tires on the road surface at the specified axle.",
+                                       "multiplex": "32",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Weight_10" : {
+                                       "generic_name": "Axle.Weight_10",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Total mass imposed by the tires on the road surface at the specified axle.",
+                                       "multiplex": "16",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Weight_00" : {
+                                       "generic_name": "Axle.Weight_00",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Total mass imposed by the tires on the road surface at the specified axle.",
+                                       "multiplex": "0",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65106": {
+                       "comment": "Vehicle Electrical Power #3",
+                       "length": 8,
+                       "name": "VEP3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Net.Battery.Current.Hi.Res" : {
+                                       "generic_name": "Net.Battery.Current.Hi.Res",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -1600,
+                                       "min_value": -1600,
+                                       "max_value": 1612.75,
+                                       "comment": "Net flow of electrical current into/out-of the battery or batteries.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Alt.Current.Hi.Res" : {
+                                       "generic_name": "Alt.Current.Hi.Res",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -1600,
+                                       "min_value": -1600,
+                                       "max_value": 1676.75,
+                                       "comment": "This parameter indicates the amount of electrical current output from the alternator of the main vehicle.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65165": {
+                       "comment": "Vehicle Electrical Power 2",
+                       "length": 8,
+                       "name": "VEP2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "E.CUPower.Output.Supply.Voltage3" : {
+                                       "generic_name": "E.CUPower.Output.Supply.Voltage3",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "The third power output from an ECM.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUPower.Output.Supply.Voltage2" : {
+                                       "generic_name": "E.CUPower.Output.Supply.Voltage2",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "The second power output from an ECM.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUPower.Output.Supply.Voltage1" : {
+                                       "generic_name": "E.CUPower.Output.Supply.Voltage1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "The first power output from an ECM",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Potential_.Power.Input2" : {
+                                       "generic_name": "Battery.Potential_.Power.Input2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "This parameter measures the second source of battery potential as measured at the input of the ECM/actuator etc.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65267": {
+                       "comment": "Vehicle Position",
+                       "length": 8,
+                       "name": "VP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Longitude" : {
+                                       "generic_name": "Longitude",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 10,
+                                       "offset": -210,
+                                       "min_value": -210,
+                                       "max_value": 211.1008122,
+                                       "comment": "Longitude position of the vehicle.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Latitude" : {
+                                       "generic_name": "Latitude",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 10,
+                                       "offset": -210,
+                                       "min_value": -210,
+                                       "max_value": 211.1008122,
+                                       "comment": "Latitude position of the vehicle.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65260": {
+                       "comment": "Vehicle Identification",
+                       "length": 8,
+                       "name": "VI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Identification.Number" : {
+                                       "generic_name": "Vehicle.Identification.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Vehicle Identification Number",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65255": {
+                       "comment": "Vehicle Hours",
+                       "length": 8,
+                       "name": "VH",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Power.Takeoff.Hours" : {
+                                       "generic_name": "Total.Power.Takeoff.Hours",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Accumulated time of operation of power takeoff device.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Vehicle.Hours" : {
+                                       "generic_name": "Total.Vehicle.Hours",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Accumulated time of operation of vehicle.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65128": {
+                       "comment": "Vehicle Fluids",
+                       "length": 8,
+                       "name": "VF",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Winch.Oil.Press.Switch" : {
+                                       "generic_name": "Winch.Oil.Press.Switch",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Winch Oil Pressure is above desired minimum",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NOTOKOilPressIsTooLow": [0],
+                                               "OKOilPressIsAboveMin": [1],
+                                               "ErrrSwtchStteCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Oil.Level" : {
+                                       "generic_name": "Hyd.Oil.Level",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This parameter indicates the level of the hydraulic fluid in tank as a ratio of current volume to total tank volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hyd.Oil.Filter.Restriction.Switch" : {
+                                       "generic_name": "Hyd.Oil.Filter.Restriction.Switch",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This switch indicates whether hydraulic oil filter is clogged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoRestriction": [0],
+                                               "RestrictionExistsOnOilFilter": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Temp" : {
+                                       "generic_name": "Hyd.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of hydraulic fluid.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65256": {
+                       "comment": "Vehicle Direction/Speed",
+                       "length": 8,
+                       "name": "VDS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Altitude" : {
+                                       "generic_name": "Altitude",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": -2500,
+                                       "min_value": -2500,
+                                       "max_value": 5531.875,
+                                       "comment": "Altitude of the vehicle referenced to sea level at standard atmospheric pressure and temperature.",
+                                       "unit": "m",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pitch" : {
+                                       "generic_name": "Pitch",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "Pitch of the vehicle as calculated by the navigation device(s).",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Navigation.Based.Vehicle.Speed" : {
+                                       "generic_name": "Navigation.Based.Vehicle.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "Speed of the vehicle as calculated from a device such as a Global Positioning System (GPS).",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Compass.Bearing" : {
+                                       "generic_name": "Compass.Bearing",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.99,
+                                       "comment": "Present compass bearing of vehicle.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65217": {
+                       "comment": "High Resolution Vehicle Distance",
+                       "length": 8,
+                       "name": "VDHR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "High.Resolution.Trip.Distance" : {
+                                       "generic_name": "High.Resolution.Trip.Distance",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 21055406,
+                                       "comment": "Distance traveled during all or part of a journey.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hgh.Rslution.Total.Vehicle.Distance" : {
+                                       "generic_name": "Hgh.Rslution.Total.Vehicle.Distance",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 21055406,
+                                       "comment": "Accumulated distance traveled by the vehicle during its operation.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61449": {
+                       "comment": "Vehicle Dynamic Stability Control 2",
+                       "length": 8,
+                       "name": "VDC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Steer.Wheel.Angle" : {
+                                       "generic_name": "Steer.Wheel.Angle",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0009765625,
+                                       "offset": -31.374,
+                                       "min_value": -31.374,
+                                       "max_value": 31.374,
+                                       "comment": "The main operator`s steering wheel angle (on the steering column, not the actual wheel angle).",
+                                       "unit": "rad",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Longitudinal.Acceleration" : {
+                                       "generic_name": "Longitudinal.Acceleration",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.1,
+                                       "offset": -12.5,
+                                       "min_value": -12.5,
+                                       "max_value": 12.5,
+                                       "comment": "Indicates the longitudinal acceleration of the vehicle.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lateral.Acceleration" : {
+                                       "generic_name": "Lateral.Acceleration",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.00048828125,
+                                       "offset": -15.687,
+                                       "min_value": -15.687,
+                                       "max_value": 15.687,
+                                       "comment": "Indicates a lateral acceleration of the vehicle.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Yaw.Rate" : {
+                                       "generic_name": "Yaw.Rate",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.0001220703125,
+                                       "offset": -3.92,
+                                       "min_value": -3.92,
+                                       "max_value": 3.92,
+                                       "comment": "Indicates the rotation about the vertical axis.",
+                                       "unit": "rad/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Steer.Wheel.Angle.Sensor.Type" : {
+                                       "generic_name": "Steer.Wheel.Angle.Sensor.Type",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the steering wheel angle sensor is capable of absolute measuring of the number of steering wheel",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RelativeMeasuringPrinciple": [0],
+                                               "AbsMeasuringPrinciple": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Steer.Wheel.Turn.Counter" : {
+                                       "generic_name": "Steer.Wheel.Turn.Counter",
+                                       "bit_position": 15,
+                                       "bit_size": 6,
+                                       "factor": 1,
+                                       "offset": -32,
+                                       "min_value": -32,
+                                       "max_value": 29,
+                                       "comment": "Indicates number of steering wheel turns, absolute position or relative position at ignition on.",
+                                       "unit": "turns",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65103": {
+                       "comment": "Vehicle Dynamic Stability Control 1",
+                       "length": 8,
+                       "name": "VDC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Y.CBrake.Ctrl.Active" : {
+                                       "generic_name": "Y.CBrake.Ctrl.Active",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that Yaw Control (YC) has activated brake control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "YCBrakeCtrlPassiveButInstalled": [0],
+                                               "YCBrakeCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Y.CEng.Ctrl.Active" : {
+                                       "generic_name": "Y.CEng.Ctrl.Active",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State Signal which indicates that the Yaw Control (YC) has commanded engine control to be active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "YCEngCtrlPassiveButInstalled": [0],
+                                               "YCEngCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "R.OPBrake.Ctrl.Active" : {
+                                       "generic_name": "R.OPBrake.Ctrl.Active",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that Roll over Prevention (ROP) has activated brake control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ROPBrakeCtrlPassiveButInstalled": [0],
+                                               "ROPBrakeCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "R.OPEng.Ctrl.Active" : {
+                                       "generic_name": "R.OPEng.Ctrl.Active",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State Signal which indicates that the Roll Over Prevention (ROP) has commanded engine control to be active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ROPEngCtrlPassiveButInstalled": [0],
+                                               "ROPEngCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "V.DCBrake.Light.Rq" : {
+                                       "generic_name": "V.DCBrake.Light.Rq",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether VDC requests to turn the vehicle brake lights on",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TurnBrakeLightNotOn": [0],
+                                               "TurnBrakeLightOn": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "V.DCFully.Operational" : {
+                                       "generic_name": "V.DCFully.Operational",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal that indicates whether VDC is fully operational or whether its functionality is reduced by a permanent or temporary",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotFullyOperational": [0],
+                                               "FullyOperational": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "V.DCInformation.Signal" : {
+                                       "generic_name": "V.DCInformation.Signal",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the VDC information signal, for example a dash lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "65248": {
+                       "comment": "Vehicle Distance",
+                       "length": 8,
+                       "name": "VD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Vehicle.Distance" : {
+                                       "generic_name": "Total.Vehicle.Distance",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Accumulated distance traveled by vehicle during its operation.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Distance" : {
+                                       "generic_name": "Trip.Distance",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Distance traveled during all or part of a journey.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65206": {
+                       "comment": "Trip Vehicle Speed/Cruise Distance Information",
+                       "length": 8,
+                       "name": "TVI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Cruise.Distance" : {
+                                       "generic_name": "Trip.Cruise.Distance",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance that the engine has operated in the cruise hold state, excluding time in accelerator override, since the last",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Max.Vehicle.Speed" : {
+                                       "generic_name": "Trip.Max.Vehicle.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "Maximum vehicle speed achieved while the engine speed is greater than zero and the accelerator pedal position (APS) is",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65200": {
+                       "comment": "Trip Time Information 2",
+                       "length": 20,
+                       "name": "TTI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Air.Compressor.On.Time" : {
+                                       "generic_name": "Trip.Air.Compressor.On.Time",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time that the air compressor is on and compressing air since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Idle.Time" : {
+                                       "generic_name": "Trip.Idle.Time",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated while the engine speed is greater than zero, both the PTO and remote PTO governors are",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Eng.Running.Time" : {
+                                       "generic_name": "Trip.Eng.Running.Time",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated while the engine speed is greater than zero since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Cruise.Time" : {
+                                       "generic_name": "Trip.Cruise.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated while the engine is in the cruise hold state, excluding time in accelerator override, since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.PTOGovernor.Time" : {
+                                       "generic_name": "Trip.PTOGovernor.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated while the engine is in the PTO or remote PTO governor hold state since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65204": {
+                       "comment": "Trip Time Information 1",
+                       "length": 16,
+                       "name": "TTI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Time.In.Derate.By.Eng" : {
+                                       "generic_name": "Trip.Time.In.Derate.By.Eng",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated when the engine final fueling has been derated due to an engine protection algorithm, since the last reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Time.In.Gear.Down" : {
+                                       "generic_name": "Trip.Time.In.Gear.Down",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated when the vehicle has operated in one gear down from the top gear for a calibrated minimum time,",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Time.In.Top.Gear" : {
+                                       "generic_name": "Trip.Time.In.Top.Gear",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated when the vehicle has operated in top gear for a calibrated minimum time, since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Time.In.VSL" : {
+                                       "generic_name": "Trip.Time.In.VSL",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated when the engine has operated on the vehicle speed limiter (VSL) while not in the cruise hold",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65205": {
+                       "comment": "Trip Shutdown Information",
+                       "length": 8,
+                       "name": "TSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Sudden.Decelerations" : {
+                                       "generic_name": "Trip.Sudden.Decelerations",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total number of decelerations whenever the vehicle deceleration is more than XYZ km/h/sec (where XYZ is a calibratible",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trp.Nmber.Of.Idle.Shutdown.Overrides" : {
+                                       "generic_name": "Trp.Nmber.Of.Idle.Shutdown.Overrides",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total number of times an operator disables idle shutdown to prevent an engine shutdown, since the last trip reset.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Number.Of.Idle.Shutdowns" : {
+                                       "generic_name": "Trip.Number.Of.Idle.Shutdowns",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total number of times the engine has been shutdown due to idling too long (at normal idle or fast idle) since the last trip reset.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Number.Of.Hot.Shutdowns" : {
+                                       "generic_name": "Trip.Number.Of.Hot.Shutdowns",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total number of hot shutdowns since the last trip reset.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "254": {
+                       "comment": "Torque/Speed Control 1",
+                       "length": 8,
+                       "name": "TSC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Message.Counter" : {
+                                       "generic_name": "Message.Counter",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The message counter is used to detect situations where the transmitting ECU malfunction repeats the same frame all the time.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [8, 9, 10, 11, 12, 13, 14],
+                                               "Not Available": [15]
+                                       }
+                               },
+                               "Control.Purpose" : {
+                                       "generic_name": "Control.Purpose",
+                                       "bit_position": 34,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "State signal which indicates which control mode the sending device is using to generate the TSC1 command.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AcceleratorPedal": [0],
+                                               "CruiseControl": [1],
+                                               "PTOGovernor": [2],
+                                               "RoadSpeedGovernor": [3],
+                                               "EngineProtection": [4],
+                                               "TemporaryPowerTrainControl": [5]
+                                       }
+                               },
+                               "Transmission.Rate" : {
+                                       "generic_name": "Transmission.Rate",
+                                       "bit_position": 31,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter indicates the transmission rate at which the sending device will transmit the TSC1 message.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "1000ms": [0],
+                                               "750ms": [1],
+                                               "500ms": [2],
+                                               "250ms": [3],
+                                               "100ms": [4],
+                                               "50ms": [5],
+                                               "25ms": [6],
+                                               "UseStandardRate": [7]
+                                       }
+                               },
+                               "Eng.Rqed.Torque_.Torque.Limit" : {
+                                       "generic_name": "Eng.Rqed.Torque_.Torque.Limit",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Parameter provided to the engine or retarder in the torque/speed control message for controlling or limiting the output torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqed.Speed_.Speed.Limit" : {
+                                       "generic_name": "Eng.Rqed.Speed_.Speed.Limit",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Parameter provided to the engine from external sources in the torque/speed control message.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Override.Ctrl.Mode.Priority" : {
+                                       "generic_name": "Override.Ctrl.Mode.Priority",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HghstPrrtyUsdFrSttnsThtRqrImmdt": [0],
+                                               "HighPriority": [1],
+                                               "MdmPrrtyUsdFrPwrtrnCtrlOprtnsWh": [2],
+                                               "LowPriority": [3]
+                                       }
+                               },
+                               "Eng.Rqed.Speed.Ctrl.Conditions" : {
+                                       "generic_name": "Eng.Rqed.Speed.Ctrl.Conditions",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This mode tells the engine control system the governor characteristics that are desired during speed control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ThsSpdGvrnrGnSlctnIsAdjstdTPrvd": [0],
+                                               "StbltyOptmzdFrDrvlnDsnggdAndNnl": [1],
+                                               "ThsCtrlCndtnHsBnOptmzdTMnmzRpmO": [2],
+                                               "StbltyOptmzdFrDrvlnEnggdAnd_OrI": [3]
+                                       }
+                               },
+                               "Eng.Override.Ctrl.Mode" : {
+                                       "generic_name": "Eng.Override.Ctrl.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OvrrdDsbldDsblAnyExstngCtrlCmdd": [0],
+                                               "SpdCtrlGvrnSpdTInclddDsrdSpdVle": [1],
+                                               "TrqCtrlCntrlTrqTInclddDsrdTrqVl": [2],
+                                               "Spd_TrqLmtCtrlLmtSpdAnd_OrTrqBs": [3]
+                                       }
+                               },
+                               "Message.Checksum" : {
+                                       "generic_name": "Message.Checksum",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The checksum is used to verify the signal path from the transmitting device to the receiving device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not Available": [15]
+                                       }
+                               },
+                               "Engine.Requested.Torque.Hi.Res" : {
+                                       "generic_name": "Engine.Requested.Torque.Hi.Res",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0.875,
+                                       "comment": "This parameter displays an additional torque in percent of the reference engine torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Not Available": [8, 9, 10, 11, 12, 13, 14, 15]
+                                       }
+                               }
+                       }
+               },
+               "64960": {
+                       "comment": "Passenger Counter",
+                       "length": 8,
+                       "name": "TR7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Transit.Run.Status" : {
+                                       "generic_name": "Transit.Run.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the run switch for the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Use.Status" : {
+                                       "generic_name": "Vehicle.Use.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Used to indicate the proper or unauthorized use of the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalUse": [0],
+                                               "UnauthorizedUse": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Silent.Alarm.Status" : {
+                                       "generic_name": "Silent.Alarm.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Used to report silent alarm push button status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Patron.Count" : {
+                                       "generic_name": "Patron.Count",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Count of the number of passengers on a transit vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Type.Of.Passenger.Count" : {
+                                       "generic_name": "Type.Of.Passenger.Count",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Used to notify transit link devices of the type of passenger counting system used in the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AbsPassengerCount": [0],
+                                               "BoardingPassenger": [1],
+                                               "Exiting Passenger": [2],
+                                               "Boarding Passenger (second passenger stream)": [3],
+                                               "Exiting Passenger (second passenger stream)": [4]
+                                       }
+                               }
+                       }
+               },
+               "64954": {
+                       "comment": "Farebox Status",
+                       "length": 8,
+                       "name": "TR6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Farebox.Alarm.Identifier" : {
+                                       "generic_name": "Farebox.Alarm.Identifier",
+                                       "bit_position": 7,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "Indicates the nature of the farebox alarm condition.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VoltageDropout": [0],
+                                               "VoltageRestored": [1],
+                                               "ProbeStarted": [2],
+                                               "ProbeCompleted": [3],
+                                               "CashboxRemoved": [4],
+                                               "CashboxRestored": [5],
+                                               "CashboxDoorTimeout": [6],
+                                               "CshbxOpndInSrvcCnsdrdAnAlrmCndt": [7],
+                                               "InsufficientFareAccepted": [8],
+                                               "Coinbox75Full": [9],
+                                               "CoinboxFull": [10],
+                                               "CurrencyBox75Full": [11],
+                                               "CurrencyBoxLessThan75Full": [12],
+                                               "CurrencyBoxFull": [13],
+                                               "Card_PassBox75Full": [14],
+                                               "Card_PassBoxLessThan75Full": [15],
+                                               "Card_PassBoxFull": [16],
+                                               "CoinDejamOperated": [17],
+                                               "FareboxSetInManualBypass": [18],
+                                               "FareboxResetToAutomaticMode": [19],
+                                               "Pass_TransferJam": [20],
+                                               "Pass_TransferJamCleared": [21],
+                                               "PaperCurrencyJam": [22],
+                                               "PaperCurrencyJamCleared": [23],
+                                               "MntnncAccssInSrvcCnsdrdAnAlrmCn": [24],
+                                               "MaintenanceAccessOutOfService": [25],
+                                               "1100000ReservedToBeAssigned": [26],
+                                               "1111111AgencyDefined": [97]
+                                       }
+                               },
+                               "Farebox.Emergency.Status" : {
+                                       "generic_name": "Farebox.Emergency.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates if a farebox emergency condition exists.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NonemergencyCondition": [0],
+                                               "EmergencyCondition": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64955": {
+                       "comment": "Farebox Point of Sale",
+                       "length": 8,
+                       "name": "TR5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Transfer.Sold" : {
+                                       "generic_name": "Transfer.Sold",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates that a transfer was sold or issued on this transaction including its type and/or restrictions.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Route.Number" : {
+                                       "generic_name": "Route.Number",
+                                       "bit_position": 39,
+                                       "bit_size": 12,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4095,
+                                       "comment": "The route number issuing the transfer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Transfer.Type" : {
+                                       "generic_name": "Transfer.Type",
+                                       "bit_position": 34,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "The kind of transfer used",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "North": [0],
+                                               "South": [1],
+                                               "East": [2],
+                                               "West": [3],
+                                               "In": [4],
+                                               "Out": [5],
+                                               "11111AgencyDefined": [6]
+                                       }
+                               },
+                               "Type.Of.Service" : {
+                                       "generic_name": "Type.Of.Service",
+                                       "bit_position": 31,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The type of service provided",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LocalService": [0],
+                                               "ExpressService": [1],
+                                               "111AgencyDefined": [2]
+                                       }
+                               },
+                               "Initial.Fare.Agency" : {
+                                       "generic_name": "Initial.Fare.Agency",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Identifies where the initial fare is paid",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pass.Category" : {
+                                       "generic_name": "Pass.Category",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Agency defined value indicating the category of the passenger associated with this fare",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fare.Validity" : {
+                                       "generic_name": "Fare.Validity",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Agency defined value indicating validity of this fare",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Payment.Details" : {
+                                       "generic_name": "Payment.Details",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Payment details.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotAnUpgrade": [0],
+                                               "Cash": [1],
+                                               "Token": [2],
+                                               "Ticket": [3],
+                                               "Pass": [4],
+                                               "Card": [5],
+                                               "1010ReservedForAssignment": [6],
+                                               "1111AgencyDefined": [11]
+                                       }
+                               },
+                               "Type.Of.Fare" : {
+                                       "generic_name": "Type.Of.Fare",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Fare",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Cash_NoDetail": [0],
+                                               "TokenA": [1],
+                                               "TokenB": [2],
+                                               "TicketA": [3],
+                                               "TicketB": [4],
+                                               "PassA": [5],
+                                               "PassB": [6],
+                                               "1010ReservedForAssignment": [7],
+                                               "1111AgencyDefined": [11]
+                                       }
+                               },
+                               "Passenger.Type" : {
+                                       "generic_name": "Passenger.Type",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Enumerated value representing the type/class of passenger, as defined by the agency.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Transaction.Type" : {
+                                       "generic_name": "Transaction.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Enumerated value representing the type of transaction completed",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Cash": [0],
+                                               "Token": [1],
+                                               "Ticket": [2],
+                                               "Pass": [3],
+                                               "Card": [4],
+                                               "Permit": [5],
+                                               "Transfer": [6],
+                                               "Free": [7],
+                                               "1011ReservedForAssignment": [8],
+                                               "1111AgencyDefined": [12]
+                                       }
+                               }
+                       }
+               },
+               "64956": {
+                       "comment": "Farebox Service Detail",
+                       "length": 15,
+                       "name": "TR4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Drivers.Farebox.Security.Code" : {
+                                       "generic_name": "Drivers.Farebox.Security.Code",
+                                       "bit_position": 103,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "Security code for the farebox, numerical only.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Farebox is in reporting status": [0],
+                                               "SecurityCode": [1]
+                                       }
+                               },
+                               "Assigned.Block" : {
+                                       "generic_name": "Assigned.Block",
+                                       "bit_position": 87,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The agency defined block number for this trip",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Assigned.Run" : {
+                                       "generic_name": "Assigned.Run",
+                                       "bit_position": 71,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The agency defined run number for this trip",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Assigned.Route" : {
+                                       "generic_name": "Assigned.Route",
+                                       "bit_position": 55,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The identity number assigned to this route.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pattern.Number" : {
+                                       "generic_name": "Pattern.Number",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The agency defined pattern number for this trip",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Number" : {
+                                       "generic_name": "Trip.Number",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The identity number assigned to this trip.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fare.Presets" : {
+                                       "generic_name": "Fare.Presets",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Fare Presets",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "to00001111AgencyDefined": [0],
+                                               "to11111111ReservedForAssignment": [16]
+                                       }
+                               },
+                               "Trip.Direction" : {
+                                       "generic_name": "Trip.Direction",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The general direction of travel for this trip.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "North": [0],
+                                               "South": [1],
+                                               "East": [2],
+                                               "West": [3],
+                                               "In": [4],
+                                               "Out": [5],
+                                               "1111AgencyDefined": [6]
+                                       }
+                               },
+                               "Trip.Status" : {
+                                       "generic_name": "Trip.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Trip Status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TripStart": [1],
+                                               "TripEnd": [2],
+                                               "LayoverStart": [5],
+                                               "LayoverEnd": [6],
+                                               "Undefined": [7]
+                                       }
+                               },
+                               "Farebox.Service.Status" : {
+                                       "generic_name": "Farebox.Service.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates if the farebox is in or out of service.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FareboxOutOfService": [0],
+                                               "FareboxInService": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64957": {
+                       "comment": "Signal Preemption",
+                       "length": 8,
+                       "name": "TR3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.ID" : {
+                                       "generic_name": "Vehicle.ID",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "Numerical designation of the vehicle.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Strobe.Activation.Ctrl.Status" : {
+                                       "generic_name": "Strobe.Activation.Ctrl.Status",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Strobe activation control status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DeactivateStrobe": [0],
+                                               "ActivateStrobe": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Transit.Door.Enable" : {
+                                       "generic_name": "Transit.Door.Enable",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Transit door enable",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IgnoreTransitDoorStatus": [0],
+                                               "TrnstDrSttsWllOvrrdStrbActvtion": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Priority.Of.Resp.Sent.By.Emitter" : {
+                                       "generic_name": "Priority.Of.Resp.Sent.By.Emitter",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Priority of response sent by emitter",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "LowPriority": [1],
+                                               "ProbePriority": [2],
+                                               "HighPriority": [3],
+                                               "to1000Reserved": [4],
+                                               "PrrtySetByHardwareToLowPriority": [9],
+                                               "PrrtyStByHrdwareToProbePriority": [10],
+                                               "PrrtyStByHardwareToHighPriority": [11],
+                                               "to1101Reserved": [12],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Intersection.Preemption.Rq_.Resp" : {
+                                       "generic_name": "Intersection.Preemption.Rq_.Resp",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the intersection signal preemption",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MessageIsARqDirectedToEmitter": [0],
+                                               "MessageIsARespFromEmitter": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Transit.Route.IDUsage" : {
+                                       "generic_name": "Transit.Route.IDUsage",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Transit route ID usage",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrnstRtIDNtUsdFrInterleavedData": [0],
+                                               "TrnstRtIDUsedForInterleavedData": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Range.Code.Enable" : {
+                                       "generic_name": "Range.Code.Enable",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Range code enable",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RngCdeNotUsedForInterleavedData": [0],
+                                               "RangeCodeUsedForInterleavedData": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64959": {
+                       "comment": "Transit Milepost",
+                       "length": 8,
+                       "name": "TR2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Nmbr.Of.Byts.In.Mlpst.Identification" : {
+                                       "generic_name": "Nmbr.Of.Byts.In.Mlpst.Identification",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of bytes in the Milepost Identification.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64958": {
+                       "comment": "Transit Route",
+                       "length": 4,
+                       "name": "TR1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Agency" : {
+                                       "generic_name": "Agency",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The identity of the agency involved in this transaction",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Nmbr.Of.Byts.In.Trnst.Assgnd.Blck.Idntty" : {
+                                       "generic_name": "Nmbr.Of.Byts.In.Trnst.Assgnd.Blck.Idntty",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of bytes in the Transit Assigned Block Identity.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Nmbr.Of.Byts.In.Trnst.Assgnd.Rn.Idntty" : {
+                                       "generic_name": "Nmbr.Of.Byts.In.Trnst.Assgnd.Rn.Idntty",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of bytes in the Transit Assigned Run Identity.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Nmbr.Of.Byts.In.Trnst.Assgnd.Rt.Idntty" : {
+                                       "generic_name": "Nmbr.Of.Byts.In.Trnst.Assgnd.Rt.Idntty",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of bytes in the Transit Assigned Route Identity.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "44798": {
+                       "comment": "Tire Pressure Reference Setting",
+                       "length": 8,
+                       "name": "TPRS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Reference.Tire.Press.Setting_33" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_33",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "51",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_32" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_32",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "50",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_31" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_31",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "49",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_30" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_30",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "48",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_23" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_23",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "35",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_22" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_22",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "34",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_21" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_21",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "33",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_20" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_20",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "32",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_13" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_13",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "19",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_12" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_12",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "18",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_11" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_11",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "17",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_10" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_10",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "16",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_01" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_01",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press.Setting_00" : {
+                                       "generic_name": "Reference.Tire.Press.Setting_00",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Location" : {
+                                       "generic_name": "Tire.Location",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies which tire is associated with the parametric data in this PGN.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle0_Position0": [0],
+                                               "Axle0_Position1": [1],
+                                               "Axle1_Position0": [16],
+                                               "Axle1_Position1": [17],
+                                               "Axle1_Position2": [18],
+                                               "Axle1_Position3": [19],
+                                               "Axle2_Position0": [32],
+                                               "Axle2_Position1": [33],
+                                               "Axle2_Position2": [34],
+                                               "Axle2_Position3": [35],
+                                               "Axle3_Position0": [48],
+                                               "Axle3_Position1": [49],
+                                               "Axle3_Position2": [50],
+                                               "Axle3_Position3": [51]
+                                       }
+                               }
+                       }
+               },
+               "64953": {
+                       "comment": "Tire Pressure Reference Information",
+                       "length": 8,
+                       "name": "TPRI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Reference.Tire.Press_33" : {
+                                       "generic_name": "Reference.Tire.Press_33",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "51",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_32" : {
+                                       "generic_name": "Reference.Tire.Press_32",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "50",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_31" : {
+                                       "generic_name": "Reference.Tire.Press_31",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "49",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_30" : {
+                                       "generic_name": "Reference.Tire.Press_30",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "48",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_23" : {
+                                       "generic_name": "Reference.Tire.Press_23",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "35",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_22" : {
+                                       "generic_name": "Reference.Tire.Press_22",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "34",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_21" : {
+                                       "generic_name": "Reference.Tire.Press_21",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "33",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_20" : {
+                                       "generic_name": "Reference.Tire.Press_20",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "32",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_13" : {
+                                       "generic_name": "Reference.Tire.Press_13",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "19",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_12" : {
+                                       "generic_name": "Reference.Tire.Press_12",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "18",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_11" : {
+                                       "generic_name": "Reference.Tire.Press_11",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "17",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_10" : {
+                                       "generic_name": "Reference.Tire.Press_10",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "16",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_01" : {
+                                       "generic_name": "Reference.Tire.Press_01",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Tire.Press_00" : {
+                                       "generic_name": "Reference.Tire.Press_00",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Location" : {
+                                       "generic_name": "Tire.Location",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies which tire is associated with the parametric data in this PGN.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Axle0_Position0": [0],
+                                               "Axle0_Position1": [1],
+                                               "Axle1_Position0": [16],
+                                               "Axle1_Position1": [17],
+                                               "Axle1_Position2": [18],
+                                               "Axle1_Position3": [19],
+                                               "Axle2_Position0": [32],
+                                               "Axle2_Position1": [33],
+                                               "Axle2_Position2": [34],
+                                               "Axle2_Position3": [35],
+                                               "Axle3_Position0": [48],
+                                               "Axle3_Position1": [49],
+                                               "Axle3_Position2": [50],
+                                               "Axle3_Position3": [51]
+                                       }
+                               }
+                       }
+               },
+               "65146": {
+                       "comment": "Tire Pressure Control Unit Current Pressures",
+                       "length": 8,
+                       "name": "TP3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Steer.Channel.Tire.Press" : {
+                                       "generic_name": "Steer.Channel.Tire.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The latest gage pressure reading of the steer group of tires, as opposed to the pressure in each tire.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Channel.Tire.Press" : {
+                                       "generic_name": "Drive.Channel.Tire.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The latest gage pressure reading of the drive group of tires, as opposed to the pressure in each tire.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trailer.Tag.Push.Channel.Tire.Press" : {
+                                       "generic_name": "Trailer.Tag.Push.Channel.Tire.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The latest gage pressure reading of the trailer, tag, or push group of tires, as opposed to the pressure in each tire.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65145": {
+                       "comment": "Tire Pressure Control Unit Target Pressures",
+                       "length": 8,
+                       "name": "TP2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Steer.Channel.Tire.Press.Target" : {
+                                       "generic_name": "Steer.Channel.Tire.Press.Target",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The tire pressure control system's target gage pressure for the steer group of tires.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Channel.Tire.Press.Target" : {
+                                       "generic_name": "Drive.Channel.Tire.Press.Target",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The tire pressure control system's target gage pressure for the drive group of tires.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trlr.Tg.Psh.Channel.Tire.Press.Target" : {
+                                       "generic_name": "Trlr.Tg.Psh.Channel.Tire.Press.Target",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The tire pressure control system's target gage pressure for the trailer, tag, or push group of tires.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65144": {
+                       "comment": "Tire Pressure Control Unit Mode and Status",
+                       "length": 8,
+                       "name": "TP1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "P.CUSupply.Solenoid.Status" : {
+                                       "generic_name": "P.CUSupply.Solenoid.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the supply solenoid used to implement a tire pressure control system in its pneumatic control unit (PCU).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.CUCtrl.Solenoid.Status" : {
+                                       "generic_name": "P.CUCtrl.Solenoid.Status",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the control solenoid used to implement a tire pressure control system in its pneumatic control unit (PCU).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.CUDeflate.Solenoid.Status" : {
+                                       "generic_name": "P.CUDeflate.Solenoid.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the deflate solenoid used to implement a tire pressure control system in its pneumatic control unit (PCU).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tire.Press.Supply.Switch.Status" : {
+                                       "generic_name": "Tire.Press.Supply.Switch.Status",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of an open/closed type switch used to determine if adequate pressure exists for system implementation.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.CUSteer.Solenoid.Status" : {
+                                       "generic_name": "P.CUSteer.Solenoid.Status",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the steer solenoid used to implement a tire pressure control system in its pneumatic control unit (PCU).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.CUDrive.Solenoid.Status" : {
+                                       "generic_name": "P.CUDrive.Solenoid.Status",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the drive solenoid used to implement a tire pressure control system in its pneumatic control unit (PCU).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Drive.Channel.Mode" : {
+                                       "generic_name": "Drive.Channel.Mode",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the functional mode of trailer/tag channel of the tire pressure control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Maintain": [0],
+                                               "Inflate": [1],
+                                               "Deflate": [2],
+                                               "Confirm": [3],
+                                               "InfltWtSystmWllInfltWhnCndtnsAl": [4],
+                                               "DfltWtSystmWllDfltWhnCndtnsAllw": [5],
+                                               "PressCheck": [6],
+                                               "1101Reserved": [7],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Trailer_.Tag.Channel.Mode" : {
+                                       "generic_name": "Trailer_.Tag.Channel.Mode",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the functional mode of trailer/tag channel of the tire pressure control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Maintain": [0],
+                                               "Inflate": [1],
+                                               "Deflate": [2],
+                                               "Confirm": [3],
+                                               "InfltWtSystmWllInfltWhnCndtnsAl": [4],
+                                               "DfltWtSystmWllDfltWhnCndtnsAllw": [5],
+                                               "PressCheck": [6],
+                                               "1101Reserved": [7],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Steer.Channel.Mode" : {
+                                       "generic_name": "Steer.Channel.Mode",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the functional mode of steer channel of the tire pressure control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Maintain": [0],
+                                               "Inflate": [1],
+                                               "Deflate": [2],
+                                               "Confirm": [3],
+                                               "InfltWtSystmWllInfltWhnCndtnsAl": [4],
+                                               "DfltWtSystmWllDfltWhnCndtnsAllw": [5],
+                                               "PressCheck": [6],
+                                               "1101Reserved": [7],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Tire.Press.Check.Interval" : {
+                                       "generic_name": "Tire.Press.Check.Interval",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The interval at which the system will check the tire pressures (e.",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "P.CUTrailer.Tag.Push.Solenoid.Status" : {
+                                       "generic_name": "P.CUTrailer.Tag.Push.Solenoid.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Current state of the trailer, tag, or push solenoid used to implement a tire pressure control system in its pneumatic control",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65268": {
+                       "comment": "Tire Condition",
+                       "length": 8,
+                       "name": "TIRE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Tire.Press.Threshold.Detection_13" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_13",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "19",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_12" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_12",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "18",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_11" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_11",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_10" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_10",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_01" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_01",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press_33" : {
+                                       "generic_name": "Tire.Press_33",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "51",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_32" : {
+                                       "generic_name": "Tire.Press_32",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "50",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_31" : {
+                                       "generic_name": "Tire.Press_31",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "49",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_30" : {
+                                       "generic_name": "Tire.Press_30",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "48",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_23" : {
+                                       "generic_name": "Tire.Press_23",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "35",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_22" : {
+                                       "generic_name": "Tire.Press_22",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "34",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_21" : {
+                                       "generic_name": "Tire.Press_21",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "33",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_20" : {
+                                       "generic_name": "Tire.Press_20",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "32",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_13" : {
+                                       "generic_name": "Tire.Press_13",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "19",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_12" : {
+                                       "generic_name": "Tire.Press_12",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "18",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_11" : {
+                                       "generic_name": "Tire.Press_11",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "17",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_10" : {
+                                       "generic_name": "Tire.Press_10",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "16",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_33" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_33",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "51",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_32" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_32",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "50",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_31" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_31",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "49",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_30" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_30",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "48",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_23" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_23",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "35",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_22" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_22",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "34",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_21" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_21",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "33",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_20" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_20",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "32",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_13" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_13",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "19",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_12" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_12",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "18",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_11" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_11",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "17",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_10" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_10",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "16",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_01" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_01",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "1",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Air.Leakage.Rate_00" : {
+                                       "generic_name": "Tire.Air.Leakage.Rate_00",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The pressure loss rate of a tire.",
+                                       "multiplex": "0",
+                                       "unit": "Pa/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "C.TIWheel.Sensor.Status_33" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_33",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "51",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_32" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_32",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "50",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_31" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_31",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "49",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_30" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_30",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "48",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_23" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_23",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "35",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_22" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_22",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "34",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_21" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_21",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "33",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_20" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_20",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "32",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_13" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_13",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "19",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_12" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_12",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "18",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_11" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_11",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_10" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_10",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.Sensor.Status_01" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_01",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_33" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_33",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "51",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_32" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_32",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "50",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_31" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_31",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "49",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_30" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_30",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "48",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_23" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_23",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "35",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_22" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_22",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "34",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_21" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_21",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "33",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_20" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_20",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "32",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_13" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_13",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "19",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_12" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_12",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "18",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_11" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_11",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_10" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_10",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_01" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_01",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_33" : {
+                                       "generic_name": "C.TITire.Status_33",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "51",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_32" : {
+                                       "generic_name": "C.TITire.Status_32",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "50",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_31" : {
+                                       "generic_name": "C.TITire.Status_31",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "49",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_30" : {
+                                       "generic_name": "C.TITire.Status_30",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "48",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_23" : {
+                                       "generic_name": "C.TITire.Status_23",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "35",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_22" : {
+                                       "generic_name": "C.TITire.Status_22",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "34",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_21" : {
+                                       "generic_name": "C.TITire.Status_21",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "33",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_20" : {
+                                       "generic_name": "C.TITire.Status_20",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "32",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_13" : {
+                                       "generic_name": "C.TITire.Status_13",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "19",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_12" : {
+                                       "generic_name": "C.TITire.Status_12",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "18",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_11" : {
+                                       "generic_name": "C.TITire.Status_11",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_10" : {
+                                       "generic_name": "C.TITire.Status_10",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_01" : {
+                                       "generic_name": "C.TITire.Status_01",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Tire.Temp_11" : {
+                                       "generic_name": "Tire.Temp_11",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "17",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_33" : {
+                                       "generic_name": "Tire.Temp_33",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "51",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_32" : {
+                                       "generic_name": "Tire.Temp_32",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "50",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_31" : {
+                                       "generic_name": "Tire.Temp_31",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "49",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_30" : {
+                                       "generic_name": "Tire.Temp_30",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "48",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_23" : {
+                                       "generic_name": "Tire.Temp_23",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "35",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_22" : {
+                                       "generic_name": "Tire.Temp_22",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "34",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_21" : {
+                                       "generic_name": "Tire.Temp_21",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "33",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_20" : {
+                                       "generic_name": "Tire.Temp_20",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "32",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_13" : {
+                                       "generic_name": "Tire.Temp_13",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "19",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_12" : {
+                                       "generic_name": "Tire.Temp_12",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "18",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_10" : {
+                                       "generic_name": "Tire.Temp_10",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "16",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_01" : {
+                                       "generic_name": "Tire.Temp_01",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "1",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Temp_00" : {
+                                       "generic_name": "Tire.Temp_00",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1735,
+                                       "comment": "Temperature at the surface of the tire sidewall.",
+                                       "multiplex": "0",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press.Threshold.Detection_33" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_33",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "51",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_32" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_32",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "50",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_31" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_31",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "49",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_30" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_30",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "48",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_23" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_23",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "35",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_22" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_22",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "34",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_21" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_21",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "33",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_20" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_20",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "32",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press.Threshold.Detection_00" : {
+                                       "generic_name": "Tire.Press.Threshold.Detection_00",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal indicating the pressure level of the tire.",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ExtrmOvrPrssTrPrssrIsAtALvlWhrT": [0],
+                                               "OvrPrssTrPrssrIsHghrThnThPrssrD": [1],
+                                               "NWrnngPrssTrPrssrIsWthnThThrshl": [2],
+                                               "UndrPrssTrPrssrIsLwrThnThPrssrD": [3],
+                                               "ExtrmUndrPrssTrPrssrIsAtALvlWhr": [4],
+                                               "NotDefined": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tire.Press_01" : {
+                                       "generic_name": "Tire.Press_01",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "1",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tire.Press_00" : {
+                                       "generic_name": "Tire.Press_00",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Pressure at which air is contained in cavity formed by tire and rim.",
+                                       "multiplex": "0",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "C.TIWheel.Sensor.Status_00" : {
+                                       "generic_name": "C.TIWheel.Sensor.Status_00",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the wheel is being monitored by the CTI controller.",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_IsolatedFromCTIPressCtrl": [0],
+                                               "On": [1],
+                                               "NotDefined": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TIWheel.End.Electrical.Fault_00" : {
+                                       "generic_name": "C.TIWheel.End.Electrical.Fault_00",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of electrical fault on CTI wheel interface.",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "NotDefined": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "C.TITire.Status_00" : {
+                                       "generic_name": "C.TITire.Status_00",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the tire.",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ok": [0],
+                                               "TireLeakDetected": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Tire.Location" : {
+                                       "generic_name": "Tire.Location",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies which tire is associated with the parametric data in this PGN.",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65211": {
+                       "comment": "Trip Fan Information",
+                       "length": 16,
+                       "name": "TFI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Fan.On.Time.Due.To.AManual.Switch" : {
+                                       "generic_name": "Trip.Fan.On.Time.Due.To.AManual.Switch",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time the fan has been on due to manual activation by the operator (i.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Fan.On.Time" : {
+                                       "generic_name": "Trip.Fan.On.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time the fan has been on (due to an automatic trigger or manual trigger) since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Fan.On.Time.Due.To.A_.CSystem" : {
+                                       "generic_name": "Trip.Fan.On.Time.Due.To.A_.CSystem",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time the fan has been on due to the A/C system since the last trip reset.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Fan.On.Time.Due.To.Eng.System" : {
+                                       "generic_name": "Trip.Fan.On.Time.Due.To.Eng.System",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time the fan has been on due to engine triggers (i.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65210": {
+                       "comment": "Trip Distance Information",
+                       "length": 12,
+                       "name": "TDI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Distance.In.Top.Gear" : {
+                                       "generic_name": "Trip.Distance.In.Top.Gear",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance accumulated while the vehicle has operated in top gear for a calibrated minimum time since the last trip reset.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Gear.Down.Distance" : {
+                                       "generic_name": "Trip.Gear.Down.Distance",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance accumulated while the vehicle has operated in the gear which is one gear down from top gear and exceeds",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Distance.On.VSL" : {
+                                       "generic_name": "Trip.Distance.On.VSL",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance accumulated while the engine torque mode is road speed governing since the last trip reset.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "54782": {
+                       "comment": "Time/Date Adjust",
+                       "length": 8,
+                       "name": "TDA",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Adjust.Local.Hour.Offset" : {
+                                       "generic_name": "Adjust.Local.Hour.Offset",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The hour component for setting the offset between the UTC (Universal Time Coordinate) time and date and a the local",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Local.Minute.Offset" : {
+                                       "generic_name": "Adjust.Local.Minute.Offset",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The minute component for setting the offset between the UTC (Universal Time Coordinate) time and date and a the local",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Year" : {
+                                       "generic_name": "Adjust.Year",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 1985,
+                                       "min_value": 1985,
+                                       "max_value": 2235,
+                                       "comment": "The year component for setting the current calendar date.",
+                                       "unit": "years",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Day" : {
+                                       "generic_name": "Adjust.Day",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "The day component for setting the current calendar date.",
+                                       "unit": "days",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Month" : {
+                                       "generic_name": "Adjust.Month",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The month component for setting the current calendar date.",
+                                       "unit": "months",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Hours" : {
+                                       "generic_name": "Adjust.Hours",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The hours component for setting the current time of day.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Minutes" : {
+                                       "generic_name": "Adjust.Minutes",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The minutes component for setting the current time of day.",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adjust.Seconds" : {
+                                       "generic_name": "Adjust.Seconds",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "The seconds component for setting the current time of day.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65254": {
+                       "comment": "Time/Date",
+                       "length": 8,
+                       "name": "TD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Local.Hour.Offset" : {
+                                       "generic_name": "Local.Hour.Offset",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The hour component of the offset between the UTC (Universal Time Coordinate) time and date and a local time zone time",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Local.Minute.Offset" : {
+                                       "generic_name": "Local.Minute.Offset",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The minute component of the offset between the UTC time and date and a local time zone time and date.",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Year" : {
+                                       "generic_name": "Year",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 1985,
+                                       "min_value": 1985,
+                                       "max_value": 2235,
+                                       "comment": "The year component of the current calendar date.",
+                                       "unit": "years",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Day" : {
+                                       "generic_name": "Day",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "The day component of the current calendar date.",
+                                       "unit": "days",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Month" : {
+                                       "generic_name": "Month",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The month component of the current calendar date.",
+                                       "unit": "months",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hours" : {
+                                       "generic_name": "Hours",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The hour component of the current time of day.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Minutes" : {
+                                       "generic_name": "Minutes",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The minutes component of the current time of day.",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Seconds" : {
+                                       "generic_name": "Seconds",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "The seconds component of the current time of day.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65174": {
+                       "comment": "Turbocharger Wastegate",
+                       "length": 8,
+                       "name": "TCW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Trb.Wstgte.Actuator1.Temp.Status" : {
+                                       "generic_name": "Eng.Trb.Wstgte.Actuator1.Temp.Status",
+                                       "bit_position": 52,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used to identify the status of the Engine Turbocharger Wastegate Actuator 1 drive circuitry temperature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighMostSevere": [0],
+                                               "HighLeastSevere": [1],
+                                               "InRange": [2],
+                                               "LowLeastSevere": [3],
+                                               "LowMostSevere": [4],
+                                               "NotDefined": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Eng.Trb.Wstgt.Acttr1.Preliminary.FMI" : {
+                                       "generic_name": "Eng.Trb.Wstgt.Acttr1.Preliminary.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Engine Turbocharger Wastegate Actuator 1 by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Dsrd.Trb.Wastegate.Actuator2.Pos" : {
+                                       "generic_name": "Eng.Dsrd.Trb.Wastegate.Actuator2.Pos",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The Requested Valve position of the Turbocharger Wastegate Valve 2, commanded by the engine ECM.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Dsrd.Trb.Wastegate.Actuator1.Pos" : {
+                                       "generic_name": "Eng.Dsrd.Trb.Wastegate.Actuator1.Pos",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The Requested Valve position of the Turbocharger Wastegate Valve 1, commanded by the engine ECM.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Wastegate.Actuator4.Pos" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator4.Pos",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the wastegate drive.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Wastegate.Actuator3.Pos" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator3.Pos",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the wastegate drive.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Wastegate.Actuator2.Pos" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator2.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the wastegate drive.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Wastegate.Actuator1.Pos" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Actuator1.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the wastegate drive.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Trb.Wstgt.Actuator.Ctrl.Air.Press" : {
+                                       "generic_name": "Eng.Trb.Wstgt.Actuator.Ctrl.Air.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of the air used to control the actuator which opens and closes the wastegate valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65132": {
+                       "comment": "Tachograph",
+                       "length": 8,
+                       "name": "TCO1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Overspeed" : {
+                                       "generic_name": "Vehicle.Overspeed",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the vehicle is exceeding the legal speed limit set in the tachograph.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOverspeed": [0],
+                                               "Overspeed": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Motion" : {
+                                       "generic_name": "Vehicle.Motion",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether motion of the vehicle is detected or not.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VehicleMotionNotDetected": [0],
+                                               "VehicleMotionDetected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tachograph.Vehicle.Speed" : {
+                                       "generic_name": "Tachograph.Vehicle.Speed",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "Speed of the vehicle registered by the tachograph.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Tachograph.Output.Shaft.Speed" : {
+                                       "generic_name": "Tachograph.Output.Shaft.Speed",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Calculated speed of the transmission output shaft.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Direction.Indicator" : {
+                                       "generic_name": "Direction.Indicator",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the direction of the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Forward": [0],
+                                               "Reverse": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Tachograph.Performance" : {
+                                       "generic_name": "Tachograph.Performance",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the tachograph performance; including electronic or mechanical analysis, instrument analysis, speed sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalPerformance": [0],
+                                               "PerformanceAnalysis": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Handling.Information" : {
+                                       "generic_name": "Handling.Information",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that handling information is present.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoHandlingInformation": [0],
+                                               "HandlingInformation": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "System.Event" : {
+                                       "generic_name": "System.Event",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that a tachograph event has occurred.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoTachographEvent": [0],
+                                               "TachographEvent": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Driver.Card.Driver2" : {
+                                       "generic_name": "Driver.Card.Driver2",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the presence of a driver card",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriverCardNotPresent": [0],
+                                               "DriverCardPresent": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Driver2.Time.Related.States" : {
+                                       "generic_name": "Driver2.Time.Related.States",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates if the driver approaches or exceeds working time limits (or other limits).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal_NoLimitsReached": [0],
+                                               "Limit115MinBefore4H": [1],
+                                               "Limit24HReached": [2],
+                                               "Limit315MinBefore9H": [3],
+                                               "Limit49HReached": [4],
+                                               "Limit515MinBefore16H": [5],
+                                               "Limit616HReached": [6],
+                                               "1100Reserved": [7],
+                                               "Other": [13],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Driver.Card.Driver1" : {
+                                       "generic_name": "Driver.Card.Driver1",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the presence of a driver card",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriverCardNotPresent": [0],
+                                               "DriverCardPresent": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Driver1.Time.Related.States" : {
+                                       "generic_name": "Driver1.Time.Related.States",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates if the driver approaches or exceeds working time limits (or other limits).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Normal_NoLimitsReached": [0],
+                                               "Limit115MinBefore4H": [1],
+                                               "Limit24HReached": [2],
+                                               "Limit315MinBefore9H": [3],
+                                               "Limit49HReached": [4],
+                                               "Limit515MinBefore16H": [5],
+                                               "Limit616HReached": [6],
+                                               "1100Reserved": [7],
+                                               "Other": [13],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Driver2.Working.State" : {
+                                       "generic_name": "Driver2.Working.State",
+                                       "bit_position": 2,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of work of the driver.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RestSleeping": [0],
+                                               "DriverAvailableShortBreak": [1],
+                                               "WrkLdngUnldingWorkingInAnOffice": [2],
+                                               "DriveBehindWheel": [3],
+                                               "101Reserved": [4],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Driver1.Working.State" : {
+                                       "generic_name": "Driver1.Working.State",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of work of the driver.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RestSleeping": [0],
+                                               "DriverAvailableShortBreak": [1],
+                                               "WrkLdngUnldingWorkingInAnOffice": [2],
+                                               "DriveBehindWheel": [3],
+                                               "101Reserved": [4],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "64979": {
+                       "comment": "Turbocharger Information 6",
+                       "length": 8,
+                       "name": "TCI6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Compressor.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo4.Compressor.Outlet.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air exiting the turbocharger 4 compressor outlet",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Compressor.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo3.Compressor.Outlet.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air exiting the turbocharger 3 compressor outlet",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Compressor.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo2.Compressor.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air exiting the turbocharger 2 compressor outlet",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Compressor.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo1.Compressor.Outlet.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air exiting the turbocharger 1 compressor outlet",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65175": {
+                       "comment": "Turbocharger Information 5",
+                       "length": 8,
+                       "name": "TCI5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Turbine.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo4.Turbine.Outlet.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products exiting the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Turbine.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo3.Turbine.Outlet.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products exiting the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Turbine.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo2.Turbine.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products exiting the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Turbine.Outlet.Temp" : {
+                                       "generic_name": "Eng.Turbo1.Turbine.Outlet.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products exiting the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65176": {
+                       "comment": "Turbocharger Information 4",
+                       "length": 8,
+                       "name": "TCI4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Turbine.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo4.Turbine.Intake.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products entering the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Turbine.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo3.Turbine.Intake.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products entering the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Turbine.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo2.Turbine.Intake.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products entering the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Turbine.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo1.Turbine.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion by-products entering the turbine side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65177": {
+                       "comment": "Turbocharger Information 3",
+                       "length": 8,
+                       "name": "TCI3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Compressor.Intake.Press" : {
+                                       "generic_name": "Eng.Turbo4.Compressor.Intake.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure of the air entering the compressor side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Compressor.Intake.Press" : {
+                                       "generic_name": "Eng.Turbo3.Compressor.Intake.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure of the air entering the compressor side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Compressor.Intake.Press" : {
+                                       "generic_name": "Eng.Turbo2.Compressor.Intake.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure of the air entering the compressor side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Compressor.Intake.Press" : {
+                                       "generic_name": "Eng.Turbo1.Compressor.Intake.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure of the air entering the compressor side of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65178": {
+                       "comment": "Turbocharger Information 2",
+                       "length": 8,
+                       "name": "TCI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Compressor.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo4.Compressor.Intake.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air entering the compressor side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Compressor.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo3.Compressor.Intake.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air entering the compressor side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Compressor.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo2.Compressor.Intake.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air entering the compressor side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo1.Compressor.Intake.Temp" : {
+                                       "generic_name": "Eng.Turbo1.Compressor.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air entering the compressor side of the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65179": {
+                       "comment": "Turbocharger Information 1",
+                       "length": 8,
+                       "name": "TCI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo4.Speed" : {
+                                       "generic_name": "Eng.Turbo4.Speed",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257020,
+                                       "comment": "Rotational velocity of rotor in the turbocharger.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo3.Speed" : {
+                                       "generic_name": "Eng.Turbo3.Speed",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257020,
+                                       "comment": "Rotational velocity of rotor in the turbocharger.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo2.Speed" : {
+                                       "generic_name": "Eng.Turbo2.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257020,
+                                       "comment": "Rotational velocity of rotor in the turbocharger.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Lube.Oil.Press2" : {
+                                       "generic_name": "Eng.Turbo.Lube.Oil.Press2",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of oil in turbocharger lubrication system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65099": {
+                       "comment": "Transmission Configuration 2",
+                       "length": 8,
+                       "name": "TCFG2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Torque.Limit" : {
+                                       "generic_name": "Trans.Torque.Limit",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Parameter provided to the engine from the transmission as a torque limit to be invoked by the engine in the event that",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65250": {
+                       "comment": "Transmission Configuration",
+                       "length": 8,
+                       "name": "TCFG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Gear.Ratio" : {
+                                       "generic_name": "Trans.Gear.Ratio",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "The transmission configuration describes the number of forward gears, the number of reverse gears, and the ratio of each",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Of.Forward.Gear.Ratios" : {
+                                       "generic_name": "Number.Of.Forward.Gear.Ratios",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of forward gear ratios in the transmission, provided as part of the configuration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Of.Reverse.Gear.Ratios" : {
+                                       "generic_name": "Number.Of.Reverse.Gear.Ratios",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of reverse gear ratios in the transmission, provided as part of the transmission configuration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "510": {
+                       "comment": "Transmission Control 1",
+                       "length": 8,
+                       "name": "TC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trns.Shft.Slctor.Display.Mode.Switch" : {
+                                       "generic_name": "Trns.Shft.Slctor.Display.Mode.Switch",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of the operator's switch used to `toggle' through multiple display modes of a shift selector display.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Mode4" : {
+                                       "generic_name": "Trans.Mode4",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 4 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode3" : {
+                                       "generic_name": "Trans.Mode3",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 3 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode2" : {
+                                       "generic_name": "Trans.Mode2",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 2 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode1" : {
+                                       "generic_name": "Trans.Mode1",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 1 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Central.Rear" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Central.Rear",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Central.Front" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Central.Front",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Central" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Central",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Rear.Axle2" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Rear.Axle2",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Rear.Axle1" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Rear.Axle1",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Front.Axle2" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Front.Axle2",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Disengage.Diff.Lock.Rq.Front.Axle1" : {
+                                       "generic_name": "Disengage.Diff.Lock.Rq.Front.Axle1",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to disengage the various differential locks, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngageDiffLock": [0],
+                                               "DisengageDiffLock": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Rqed.Gear" : {
+                                       "generic_name": "Trans.Rqed.Gear",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Gear requested by the operator, ABS, or engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [60, 61],
+                                               "NeutralSelectorPos": [222],
+                                               "ReverseSelectorPos": [223],
+                                               "PsUnknownAnd_OrNoButtonsPressed": [224],
+                                               "PrssOfMmntryBttnTRslctCrrentPos": [225],
+                                               "BtwnRvrsAndPrkShiftSelectorPoss": [226],
+                                               "BtwnNtrlAndRvrsShftSelectorPoss": [227],
+                                               "BtwnDrvAndNtrlShiftSelectorPoss": [228],
+                                               "BtwnD1AndDriveShiftSelectorPoss": [229],
+                                               "BetweenD2AndD1ShiftSelectorPoss": [230],
+                                               "BetweenD3AndD2ShiftSelectorPoss": [231],
+                                               "BetweenD4AndD3ShiftSelectorPoss": [232],
+                                               "BetweenD5AndD4ShiftSelectorPoss": [233],
+                                               "BetweenD6AndD5ShiftSelectorPoss": [234],
+                                               "BetweenD7AndD6ShiftSelectorPoss": [235],
+                                               "BtwnTwoForwardShiftSelectorPoss": [236],
+                                               "BtwnTwoReverseShiftSelectorPoss": [237],
+                                               "BetweenTwoShiftSelectorPoss": [238],
+                                               "D77thFrwrdSlctrPsRfrncdFrmDrive": [239],
+                                               "D66thFrwrdSlctrPsRfrncdFrmDrive": [240],
+                                               "D55thFrwrdSlctrPsRfrncdFrmDrive": [241],
+                                               "D44thFrwrdSlctrPsRfrncdFrmDrive": [242],
+                                               "D33rdFrwrdSlctrPsRfrncdFrmDrive": [243],
+                                               "D22ndFrwrdSlctrPsRfrncdFrmDrive": [244],
+                                               "D11stFrwrdSlctrPsRfrncdFrmDrive": [245],
+                                               "Downshift2GearsFromCurrentPos": [246],
+                                               "Downshift1GearFromCurrentPos": [247],
+                                               "Upshift2GearsFromCurrentPos": [248],
+                                               "Upshift1GearFromCurrentPos": [249],
+                                               "ForwardLowPos": [250],
+                                               "ParkPos": [251],
+                                               "ForwardDrivePos": [252],
+                                               "HoldCurrentGear": [253]
+                                       }
+                               },
+                               "Rqed.Percent.Clutch.Slip" : {
+                                       "generic_name": "Rqed.Percent.Clutch.Slip",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Parameter which represents the percent clutch slip requested by a device.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Disengage.Driveline.Rq" : {
+                                       "generic_name": "Disengage.Driveline.Rq",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to simply disengage the driveline, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AllowDrivelineEngagement": [0],
+                                               "DisengageDriveline": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Gear.Shift.Inhibit.Rq" : {
+                                       "generic_name": "Trans.Gear.Shift.Inhibit.Rq",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to inhibit gear shifts.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "GearShiftsAreAllowed": [0],
+                                               "GearShiftsAreInhibited": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trns.Trq.Converter.Lockup.Disable.Rq" : {
+                                       "generic_name": "Trns.Trq.Converter.Lockup.Disable.Rq",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to prevent torque converter lockup, which may cause problems in certain circumstances for ASR.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AllowTorqueConverterLockup": [0],
+                                               "DisableTorqueConverterLockup": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Rqed.Launch.Gear" : {
+                                       "generic_name": "Trans.Rqed.Launch.Gear",
+                                       "bit_position": 49,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Initial gear for the transmission to start out in when the vehicle is launched from a standing stop, as specified by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NSpcfcLnchGrRqdUsDfltLaunchGear": [0],
+                                               "LaunchVehicleIn1stGear": [1],
+                                               "LaunchVehicleIn2ndGear": [2],
+                                               "LaunchVehicleIn3rdGear": [3],
+                                               "LaunchVehicleIn4thGear": [4],
+                                               "LaunchVehicleIn5thGear": [5],
+                                               "LaunchVehicleIn6thGear": [6],
+                                               "LaunchVehicleIn7thGear": [7],
+                                               "LaunchVehicleIn8thGear": [8],
+                                               "LaunchVehicleInReverse1": [9],
+                                               "LaunchVehicleInReverse2": [10],
+                                               "LaunchVehicleInReverse3": [11],
+                                               "LaunchVehicleInReverse4": [12],
+                                               "Reserved": [13],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Trans.Reverse.Gear.Shift.Inhibit.Rq" : {
+                                       "generic_name": "Trans.Reverse.Gear.Shift.Inhibit.Rq",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Allows devices external to the normal transmission shift selector system to request the transmission to inhibit shifts into",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AllowShiftsIntoReverseGear": [0],
+                                               "InhbtShftsIntRvrsGrAndShftTrnsT": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode8" : {
+                                       "generic_name": "Trans.Mode8",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 8 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode7" : {
+                                       "generic_name": "Trans.Mode7",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 7 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode6" : {
+                                       "generic_name": "Trans.Mode6",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 6 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode5" : {
+                                       "generic_name": "Trans.Mode5",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 5 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "65245": {
+                       "comment": "Turbocharger",
+                       "length": 8,
+                       "name": "TC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo.Oil.Level.Switch" : {
+                                       "generic_name": "Eng.Turbo.Oil.Level.Switch",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the presence of oil at the turbocharger",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOilPresentAtTurbo": [0],
+                                               "OilPresentAtTurbo": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Turbo1.Speed" : {
+                                       "generic_name": "Eng.Turbo1.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257020,
+                                       "comment": "Rotational velocity of rotor in the turbocharger.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Lube.Oil.Press1" : {
+                                       "generic_name": "Eng.Turbo.Lube.Oil.Press1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of oil in turbocharger lubrication system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65101": {
+                       "comment": "Total Averaged Information",
+                       "length": 8,
+                       "name": "TAVG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Total.Average.Fuel.Economy" : {
+                                       "generic_name": "Eng.Total.Average.Fuel.Economy",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.001953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125.5,
+                                       "comment": "Average fuel economy, equal to total vehicle distance divided by total fuel used, over the life of the engine",
+                                       "unit": "km/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Total.Average.Fuel.Rate" : {
+                                       "generic_name": "Eng.Total.Average.Fuel.Rate",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Average fuel rate, equal to total fuel used divided by total engine hours, over the life of the engine",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64994": {
+                       "comment": "Supply Pressure Demand",
+                       "length": 8,
+                       "name": "SPR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Air.Suspension.Supply.Press.Rq" : {
+                                       "generic_name": "Air.Suspension.Supply.Press.Rq",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the circuit for the electronically controlled air suspension system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Equipment.Supply.Press.Rq" : {
+                                       "generic_name": "Aux.Equipment.Supply.Press.Rq",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the auxiliary circuit.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Brake.Air.Press.Rq.Circuit2" : {
+                                       "generic_name": "Service.Brake.Air.Press.Rq.Circuit2",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the service brake circuit or reservoir #2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Brake.Air.Press.Rq.Circuit1" : {
+                                       "generic_name": "Service.Brake.Air.Press.Rq.Circuit1",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the service brake circuit or reservoir #1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Parking.And_.Or.Trailer.Air.Press.Rq" : {
+                                       "generic_name": "Parking.And_.Or.Trailer.Air.Press.Rq",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the circuit or reservoir for the parking brake and/or the trailer supply.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pneumatic.Supply.Press.Rq" : {
+                                       "generic_name": "Pneumatic.Supply.Press.Rq",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "Command signal to influence the pneumatic pressure in the main reservoir.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65167": {
+                       "comment": "Supply Pressure 2",
+                       "length": 8,
+                       "name": "SP2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Extl.Shutdown.Air.Supply.Press" : {
+                                       "generic_name": "Eng.Extl.Shutdown.Air.Supply.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Pressure of the air used to shut off the fuel supply to the engine.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65242": {
+                       "comment": "Software Identification",
+                       "length": 8,
+                       "name": "SOFT",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Nmbr.Of.Sftwr.Identification.Fields" : {
+                                       "generic_name": "Nmbr.Of.Sftwr.Identification.Fields",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of software identification designators represented in the software identification parameter group.",
+                                       "unit": "steps",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Software.ID3" : {
+                                       "generic_name": "Software.ID3",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Software ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Software.ID2" : {
+                                       "generic_name": "Software.ID2",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Software ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Software.ID1" : {
+                                       "generic_name": "Software.ID1",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Software ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65252": {
+                       "comment": "Shutdown",
+                       "length": 8,
+                       "name": "SHUTDN",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Overspeed.Test" : {
+                                       "generic_name": "Eng.Overspeed.Test",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The engine overspeed test signal as measured by the reporting ECM.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngOverspeedTestNotActive": [0],
+                                               "EngOverspeedTestActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Air.Shutoff.Cmd.Status" : {
+                                       "generic_name": "Eng.Air.Shutoff.Cmd.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates when the Air Shutoff driver output is being driven.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ArShtffDsbldNtAttmptngTShtffEng": [0],
+                                               "ArShtffEnbldAttmptngTShtffEngAr": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Alarm.Output.Cmd.Status" : {
+                                       "generic_name": "Eng.Alarm.Output.Cmd.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates when the Alarm driver output is being driven.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngAlarmOutputCmdNotActive": [0],
+                                               "EngAlarmOutputCmdActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Alarm.Acknowledge" : {
+                                       "generic_name": "Eng.Alarm.Acknowledge",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The Engine Alarm Acknowledge Input signal as measured by the reporting ECM.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngAlarmAcknowledgeNotActive": [0],
+                                               "EngAlarmAcknowledgeActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Protection.System.Config" : {
+                                       "generic_name": "Eng.Protection.System.Config",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter which indicates the configuration of the engine shutdown system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledInCalib": [0],
+                                               "EnabledInCalib": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Protection.System.Timer.State" : {
+                                       "generic_name": "Eng.Protection.System.Timer.State",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates the current mode of the engine protection system timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Prtection.System.Timer.Override" : {
+                                       "generic_name": "Eng.Prtection.System.Timer.Override",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates the status of the override feature of the engine protection system timer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Prtctn.Systm.Apprching.Shutdown" : {
+                                       "generic_name": "Eng.Prtctn.Systm.Apprching.Shutdown",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates that engine shutdown is imminent.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotApproaching": [0],
+                                               "Approaching": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Wait.To.Start.Lamp" : {
+                                       "generic_name": "Eng.Wait.To.Start.Lamp",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp signal which indicates that the engine is too cold to start and the operator should wait until the signal becomes",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Refrigerant.High.Press.Switch" : {
+                                       "generic_name": "Refrigerant.High.Press.Switch",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the high pressure switch in the coolant circuit of an air conditioning system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressNormal": [0],
+                                               "PrssTHghCmprssrCltchMyBDsngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Refrigerant.Low.Press.Switch" : {
+                                       "generic_name": "Refrigerant.Low.Press.Switch",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the low pressure switch in the coolant circuit of an air conditioning system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressNormal": [0],
+                                               "PrssTLwCmprssrCltchMyBDsengaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A_.CHigh.Press.Fan.Switch" : {
+                                       "generic_name": "A_.CHigh.Press.Fan.Switch",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the pressure in the coolant circuit of an air conditioning system is high and the fan may",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PressNormal": [0],
+                                               "PressHighFanMayBeEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Shutdown.Timer.Function" : {
+                                       "generic_name": "Eng.Idle.Shutdown.Timer.Function",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter which indicates the configuration of the idle shutdown timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisabledInCalib": [0],
+                                               "EnabledInCalib": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Shutdown.Timer.State" : {
+                                       "generic_name": "Eng.Idle.Shutdown.Timer.State",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates the current mode of operation of the idle shutdown timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Shutdown.Timer.Override" : {
+                                       "generic_name": "Eng.Idle.Shutdown.Timer.Override",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates the status of the override feature of the idle shutdown timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Shutdown.Driver.Alert.Mode" : {
+                                       "generic_name": "Eng.Idle.Shutdown.Driver.Alert.Mode",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates the status of the driver alert mode of the idle shutdown timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.TOShutdown.Has.Shutdown.Eng" : {
+                                       "generic_name": "P.TOShutdown.Has.Shutdown.Eng",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which identifies whether or not the engine has been shutdown by the PTO shutdown system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No": [0],
+                                               "Yes": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Prtctn.Systm.Has.Shutdown.Engine" : {
+                                       "generic_name": "Eng.Prtctn.Systm.Has.Shutdown.Engine",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates whether or not the engine protection system has shutdown the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No": [0],
+                                               "Yes": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idl.Shutdown.Has.Shutdown.Engine" : {
+                                       "generic_name": "Eng.Idl.Shutdown.Has.Shutdown.Engine",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which identifies whether or not the engine has been shutdown by the idle shutdown timer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No": [0],
+                                               "Yes": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Air.Shutoff.Status" : {
+                                       "generic_name": "Eng.Air.Shutoff.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates the actual measured position of the Air Shutoff.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AirFlowAllowedToEng": [0],
+                                               "AirFlowRestricted": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65216": {
+                       "comment": "Service Information",
+                       "length": 8,
+                       "name": "SERV",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Service.Component.Identification.B" : {
+                                       "generic_name": "Service.Component.Identification.B",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Component.Identification.A" : {
+                                       "generic_name": "Service.Component.Identification.A",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Srvce.Delay_.Operational.Time.Based" : {
+                                       "generic_name": "Srvce.Delay_.Operational.Time.Based",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32127,
+                                       "min_value": -32127,
+                                       "max_value": 32128,
+                                       "comment": "The time in vehicle operational time until the next vehicle service inspection is required.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Delay_.Calendar.Time.Based" : {
+                                       "generic_name": "Service.Delay_.Calendar.Time.Based",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The time in weeks until the next vehicle service inspection is required.",
+                                       "unit": "weeks",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Distance" : {
+                                       "generic_name": "Service.Distance",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 5,
+                                       "offset": -160635,
+                                       "min_value": -160635,
+                                       "max_value": 160640,
+                                       "comment": "The distance which can be traveled by the vehicle before the next service inspection is required.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Component.Identification" : {
+                                       "generic_name": "Service.Component.Identification",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65166": {
+                       "comment": "Service 2",
+                       "length": 8,
+                       "name": "S2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Time.Since.Last.Service" : {
+                                       "generic_name": "Time.Since.Last.Service",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -32127,
+                                       "min_value": -32127,
+                                       "max_value": 32128,
+                                       "comment": "The vehicle operation time since the last service was performed.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Component.Identification" : {
+                                       "generic_name": "Service.Component.Identification",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65107": {
+                       "comment": "Retarder Continuous Torque & Speed Limit",
+                       "length": 8,
+                       "name": "RTC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Max.Continuous.Retarder.Torque" : {
+                                       "generic_name": "Max.Continuous.Retarder.Torque",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Applied limit for maximum continuous retarder torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Min.Continuous.Retarder.Speed" : {
+                                       "generic_name": "Min.Continuous.Retarder.Speed",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Applied limit for minimum continuous retarder RPM",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Continuous.Retarder.Speed" : {
+                                       "generic_name": "Max.Continuous.Retarder.Speed",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Applied limit for maximum continuous retarder RPM",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Min.Continuous.Retarder.Torque" : {
+                                       "generic_name": "Min.Continuous.Retarder.Torque",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Applied limit for minimum continuous retarder torque",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lw.Lmt.Thrshld.Fr.Mx.Trq.From.Retarder" : {
+                                       "generic_name": "Lw.Lmt.Thrshld.Fr.Mx.Trq.From.Retarder",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Minimum allowable value for maximum continuous retarder torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lw.Lmt.Thrshld.Fr.Mx.RPMFrom.Retarder" : {
+                                       "generic_name": "Lw.Lmt.Thrshld.Fr.Mx.RPMFrom.Retarder",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Minimum allowable value for maximum continuous retarder speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Trq.Frm.Rtrdr" : {
+                                       "generic_name": "Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Trq.Frm.Rtrdr",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Maximum allowable value for minimum continuous retarder torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hgh.Lmt.Thrshld.Fr.Mn.Cntns.RPMFrm.Rtrdr" : {
+                                       "generic_name": "Hgh.Lmt.Thrshld.Fr.Mn.Cntns.RPMFrm.Rtrdr",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Maximum allowable value for minimum continuous retarder speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65275": {
+                       "comment": "Retarder fluids",
+                       "length": 8,
+                       "name": "RF",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Drvlne.Retarder.Overheat.Indicator" : {
+                                       "generic_name": "Drvlne.Retarder.Overheat.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal from the driveline retarder indicating that its fluid temperature is above normal acceptable limits, and as a result,",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DrvlnRtrdrOvrheatIndicatorIsOff": [0],
+                                               "DrvlnRtrdrOvrhtIndctrIsOnCntnsl": [1],
+                                               "DrvlnRtrdrOvrhtIndctrIsFlashing": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hyd.Retarder.Oil.Temp" : {
+                                       "generic_name": "Hyd.Retarder.Oil.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of oil found in a hydraulic retarder.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hyd.Retarder.Press" : {
+                                       "generic_name": "Hyd.Retarder.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Gage pressure of oil in hydraulic retarder system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "57086": {
+                       "comment": "Reset",
+                       "length": 8,
+                       "name": "RESET",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Build.Hours.Reset" : {
+                                       "generic_name": "Eng.Build.Hours.Reset",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to reset the engine rebuild hours.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoNotReset": [0],
+                                               "Reset": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trip.Group2.Proprietary" : {
+                                       "generic_name": "Trip.Group2.Proprietary",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to reset proprietary parameters associated with a trip but not defined within this document.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TakeNoAction": [0],
+                                               "Reset": [1],
+                                               "Reserved": [2],
+                                               "NotApplicable": [3]
+                                       }
+                               },
+                               "Trip.Group1" : {
+                                       "generic_name": "Trip.Group1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to reset the PGNs and parameters as defined in Table SPN988_A.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TakeNoAction": [0],
+                                               "Reset": [1],
+                                               "Reserved": [2],
+                                               "NotApplicable": [3]
+                                       }
+                               },
+                               "Steer.Straight.Ahead.Pos.Reset" : {
+                                       "generic_name": "Steer.Straight.Ahead.Pos.Reset",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Used to reset the straight ahead position for a steering sensor in the steering column or a steering controller's straight",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TakeNoActionDoNotReset": [0],
+                                               "Reset": [1],
+                                               "ReservedTakeNoAction": [2],
+                                               "NotApplicable": [3]
+                                       }
+                               },
+                               "Service.Component.Identification" : {
+                                       "generic_name": "Service.Component.Identification",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Component.Identification.C" : {
+                                       "generic_name": "Service.Component.Identification.C",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identification of component needing service.",
+                                       "unit": "ID",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65249": {
+                       "comment": "Retarder Configuration",
+                       "length": 19,
+                       "name": "RC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Percent.Torque.At.Peak.Torque.Point5" : {
+                                       "generic_name": "Percent.Torque.At.Peak.Torque.Point5",
+                                       "bit_position": 143,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available retarder torque which can be provided by the retarder at point 5 of the retarder",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Reference.Retarder.Torque" : {
+                                       "generic_name": "Reference.Retarder.Torque",
+                                       "bit_position": 127,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "This parameter is the 100% reference value for all defined indicated retarder torque parameters.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Speed.At.Peak.Torque.Point5" : {
+                                       "generic_name": "Retarder.Speed.At.Peak.Torque.Point5",
+                                       "bit_position": 111,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Please reference PGN 65249",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Torque.At.Point4" : {
+                                       "generic_name": "Percent.Torque.At.Point4",
+                                       "bit_position": 103,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available retarder torque which can be provided by the retarder at points 3 and 4 of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Speed.At.Point4" : {
+                                       "generic_name": "Retarder.Speed.At.Point4",
+                                       "bit_position": 87,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Retarder speed of point 4 of the engine retarder torque map.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Torque.At.Point3" : {
+                                       "generic_name": "Percent.Torque.At.Point3",
+                                       "bit_position": 79,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available retarder torque which can be provided by the retarder at points 3 and 4 of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Speed.At.Point3" : {
+                                       "generic_name": "Retarder.Speed.At.Point3",
+                                       "bit_position": 63,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Retarder speed of point 3 of the engine retarder torque map.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Torque.At.Max.Speed.Point2" : {
+                                       "generic_name": "Percent.Torque.At.Max.Speed.Point2",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available retarder torque which can be provided by the retarder at its maximum speed.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Retarder.Speed.Point2" : {
+                                       "generic_name": "Max.Retarder.Speed.Point2",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Maximum speed of retarder (Please reference PGN 65249).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Percent.Torque.At.Idle.Point1" : {
+                                       "generic_name": "Percent.Torque.At.Idle.Point1",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available retarder torque which can be provided by the retarder at idle speed.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Speed.At.Idle.Point1" : {
+                                       "generic_name": "Retarder.Speed.At.Idle.Point1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Please reference PGN 65249",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Ctrl.Method" : {
+                                       "generic_name": "Retarder.Ctrl.Method",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "This parameter identifies the number of steps used by the retarder.",
+                                       "unit": "steps",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Location" : {
+                                       "generic_name": "Retarder.Location",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter defines whether the [torque/speed curve] defined by the retarder configuration message (PGN 65249) is",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngCompressionReleaseBrake": [0],
+                                               "EngExhaustBrake": [1],
+                                               "TransInput": [2],
+                                               "TransOutput": [3],
+                                               "Driveline": [4],
+                                               "Trailer": [5],
+                                               "1101NotDefined": [6],
+                                               "Other": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Retarder.Type" : {
+                                       "generic_name": "Retarder.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A vehicle retarder is a supplementary device to the wheel brakes for the driver to better control the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Electric_Magnetic": [0],
+                                               "Hyd": [1],
+                                               "CooledFriction": [2],
+                                               "CompressionRelease": [3],
+                                               "Exhaust": [4],
+                                               "1101NotDefined": [5],
+                                               "Other": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "65173": {
+                       "comment": "Rebuild Information",
+                       "length": 8,
+                       "name": "RBI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Operation.Time.Since.Rebuild" : {
+                                       "generic_name": "Eng.Operation.Time.Since.Rebuild",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "The time in engine operation since the last engine rebuild.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65264": {
+                       "comment": "Power Takeoff Information",
+                       "length": 8,
+                       "name": "PTO",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Power.Takeoff.Set.Speed" : {
+                                       "generic_name": "Power.Takeoff.Set.Speed",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Rotational velocity selected by operator for device used to transmit engine power to auxiliary equipment.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Power.Takeoff.Speed" : {
+                                       "generic_name": "Power.Takeoff.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Rotational velocity of device used to transmit engine power to auxiliary equipment.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Power.Takeoff.Oil.Temp" : {
+                                       "generic_name": "Power.Takeoff.Oil.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of lubricant in device used to transmit engine power to auxiliary equipment.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Oprtr.Eng.PTOGvrnr.Mmry.Slect.Switch" : {
+                                       "generic_name": "Oprtr.Eng.PTOGvrnr.Mmry.Slect.Switch",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Measured state of the operator's engine PTO governor memory select switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PTOSetSpeedMemory1Selected": [0],
+                                               "PTOSetSpeedMemory2Selected": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Eng.Rmt.PTOGvrnr.Vrbl.Spd.Ctrl.Switch" : {
+                                       "generic_name": "Eng.Rmt.PTOGvrnr.Vrbl.Spd.Ctrl.Switch",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the remote PTO governor toggle switch is in the enabled (ON) position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Rmt.PTOGvrnr.Prprgrmmd.Spd.Ctrl.Swtch" : {
+                                       "generic_name": "Eng.Rmt.PTOGvrnr.Prprgrmmd.Spd.Ctrl.Swtch",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the remote PTO governor toggle switch is in the enabled (ON) position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.PTOGvrnr.Cst_.Decelerate.Switch" : {
+                                       "generic_name": "Eng.PTOGvrnr.Cst_.Decelerate.Switch",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the PTO control activator which indicates that the activator is in the position to 'coast/decelerate' the PTO",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.PTOGovernor.Set.Switch" : {
+                                       "generic_name": "Eng.PTOGovernor.Set.Switch",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the PTO control activator which indicates that the activator is in the position to 'set' the engine PTO",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.PTOGovernor.Resume.Switch" : {
+                                       "generic_name": "Eng.PTOGovernor.Resume.Switch",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the PTO control activator which indicates that the activator is in the position to 'resume' a previously",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.PTOGovernor.Enable.Switch" : {
+                                       "generic_name": "Eng.PTOGovernor.Enable.Switch",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the PTO governor toggle switch is in the enabled (ON) position and therefore it is",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.PTOGovernor.Accelerate.Switch" : {
+                                       "generic_name": "Eng.PTOGovernor.Accelerate.Switch",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the PTO control activator which indicates that the activator is in the position to 'accelerate' the PTO",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Rmt.PTOPrprgrmmd.Speed.Ctrl.Switch2" : {
+                                       "generic_name": "Rmt.PTOPrprgrmmd.Speed.Ctrl.Switch2",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the remote PTO toggle switch #2 is in the enabled (ON) position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aux.Input.Ignore.Switch" : {
+                                       "generic_name": "Aux.Input.Ignore.Switch",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which overrides other switch input's ability to kick out of an engine's operating condition.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64973": {
+                       "comment": "Operator Wiper and Washer Controls Message",
+                       "length": 8,
+                       "name": "OWW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rear.Washer.Function" : {
+                                       "generic_name": "Rear.Washer.Function",
+                                       "bit_position": 52,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of operation selected by operator switch for the rear washer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Front.Operator.Washer.Switch" : {
+                                       "generic_name": "Front.Operator.Washer.Switch",
+                                       "bit_position": 44,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of operation selected by operator switch for the washer in front of the operator position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Front.Nonoperator.Washer.Switch" : {
+                                       "generic_name": "Front.Nonoperator.Washer.Switch",
+                                       "bit_position": 41,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "State of operation selected by operator switch for the front washer not in front of the operator position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Rear.Wiper.Delay.Ctrl" : {
+                                       "generic_name": "Rear.Wiper.Delay.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Time between cycles of the rear wiper (i.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Front.Nonoperator.Wiper.Delay.Ctrl" : {
+                                       "generic_name": "Front.Nonoperator.Wiper.Delay.Ctrl",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Time between cycles of the front non-operator side wiper (i.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Front.Operator.Wiper.Delay.Ctrl" : {
+                                       "generic_name": "Front.Operator.Wiper.Delay.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Time between cycles of the front operator side wiper (i.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rear.Wiper.Switch" : {
+                                       "generic_name": "Rear.Wiper.Switch",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of operation selected by operator switch for the rear wiper.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "Delayed1": [4],
+                                               "Delayed2": [5],
+                                               "Mist": [6],
+                                               "1110Reserved": [7],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Front.Operator.Wiper.Switch" : {
+                                       "generic_name": "Front.Operator.Wiper.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of operation selected by operator switch for the Wiper in front of the operator position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "Delayed1": [4],
+                                               "Delayed2": [5],
+                                               "Mist": [6],
+                                               "1110Reserved": [7],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Front.Nonoperator.Wiper.Switch" : {
+                                       "generic_name": "Front.Nonoperator.Wiper.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State of operation selected by operator switch for the front wiper not in front of the operator position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "Low": [1],
+                                               "Medium": [2],
+                                               "High": [3],
+                                               "Delayed1": [4],
+                                               "Delayed2": [5],
+                                               "Mist": [6],
+                                               "1110Reserved": [7],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "64971": {
+                       "comment": "Off-Highway Engine Control Selection",
+                       "length": 8,
+                       "name": "OHECS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Alt.Droop.Aux.Input.Select" : {
+                                       "generic_name": "Eng.Alt.Droop.Aux.Input.Select",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalDroopSettingIsSelected": [0],
+                                               "thr1101OnOfAltDrpSttng1Thrgh13I": [1],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Droop.Remote.Accel.Select" : {
+                                       "generic_name": "Eng.Alt.Droop.Remote.Accel.Select",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalDroopSettingIsSelected": [0],
+                                               "thr1101OnOfAltDrpSttng1Thrgh13I": [1],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Droop.Accel2.Select" : {
+                                       "generic_name": "Eng.Alt.Droop.Accel2.Select",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Same description as Engine Alternate Droop Accelerator 1 Select (SPN 2881) except that the selections may apply to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalDroopSettingIsSelected": [0],
+                                               "thr1101OnOfAltDrpSttng1Thrgh13I": [1],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Droop.Accel1.Select" : {
+                                       "generic_name": "Eng.Alt.Droop.Accel1.Select",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalDroopSettingIsSelected": [0],
+                                               "thr1101OnOfAltDrpSttng1Thrgh13I": [1],
+                                               "ErrorCondition": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Rating.Select" : {
+                                       "generic_name": "Eng.Alt.Rating.Select",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple engine ratings available for selection by the operator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IndctsThtMxPwrFuelingIsSelected": [0],
+                                               "IndctsThtAltPwrFling1IsSelected": [1]
+                                       }
+                               },
+                               "Eng.Alt.Low.Idle.Switch" : {
+                                       "generic_name": "Eng.Alt.Low.Idle.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Operator switch which selects between two low idle speeds, default and alternate.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DefaultLowIdlePointIsSelected": [0],
+                                               "AltLowIdlePointIsSelected": [1],
+                                               "Error": [2],
+                                               "NotAvailableUnused": [3]
+                                       }
+                               },
+                               "Eng.Synchronization.Switch" : {
+                                       "generic_name": "Eng.Synchronization.Switch",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the On/Off operation of the Multiple Unit Synchronization functionality.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FunctionalityIsDisabled": [0],
+                                               "FunctionalityIsEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailableUnused": [3]
+                                       }
+                               },
+                               "Eng.Aux.Governor.Switch" : {
+                                       "generic_name": "Eng.Aux.Governor.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the On/Off operation of the Auxiliary Governor feature switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxGovernorIsDisabled": [0],
+                                               "AuxGovernorIsEnabled": [1],
+                                               "ErrorCondition": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64967": {
+                       "comment": "Off-Highway Engine Control Selection States",
+                       "length": 8,
+                       "name": "OHCSS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Alt.Droop.Aux.Input.Select.State" : {
+                                       "generic_name": "Eng.Alt.Droop.Aux.Input.Select.State",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStateIsNormalDroopSetting": [0],
+                                               "thr1101CtrlSttIsOnOfAltDrpSttng": [1],
+                                               "SAEReserved": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Drp.Remote.Accel.Select.State" : {
+                                       "generic_name": "Eng.Alt.Drp.Remote.Accel.Select.State",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStateIsNormalDroopSetting": [0],
+                                               "thr1101CtrlSttIsOnOfAltDrpSttng": [1],
+                                               "SAEReserved": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Droop.Accel2.Select.State" : {
+                                       "generic_name": "Eng.Alt.Droop.Accel2.Select.State",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlsStateIsNormalDroopSetting": [0],
+                                               "thr1101CtrlsSttIsOnOfAltDrpSttn": [1],
+                                               "SAEReserved": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Droop.Accel1.Select.State" : {
+                                       "generic_name": "Eng.Alt.Droop.Accel1.Select.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple droop settings available across the range of engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStateIsNormalDroopSetting": [0],
+                                               "thr1101CtrlSttIsOnOfAltDrpSttng": [1],
+                                               "SAEReserved": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Alt.Rating.Select.State" : {
+                                       "generic_name": "Eng.Alt.Rating.Select.State",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "In some off-highway applications it may be desirable to have multiple engine ratings available for selection by the operator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStateIsMaxPowerFueling": [0],
+                                               "CtrlStateIsAltPowerFueling1": [1]
+                                       }
+                               },
+                               "Eng.Alt.Low.Idle.Select.State" : {
+                                       "generic_name": "Eng.Alt.Low.Idle.Select.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "In many applications, it is desirable that an alternate low idle speed setting be made available via switch input.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalIdleState": [0],
+                                               "AltIdleState": [1],
+                                               "SAEReserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Multi.Unit.Sync.State" : {
+                                       "generic_name": "Eng.Multi.Unit.Sync.State",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This feature is widely used in Industry to operate multiple engines from a single command source.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStteIsFunctionalityDisabled": [0],
+                                               "CtrlStateIsFunctionalityEnabled": [1],
+                                               "SAEReserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Aux.Governor.State" : {
+                                       "generic_name": "Eng.Aux.Governor.State",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the Engine Auxiliary Governor feature.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtrlStateIsAuxGovernorDisabled": [0],
+                                               "CtrlStateIsAuxGovernorEnabled": [1],
+                                               "SAEReserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64972": {
+                       "comment": "Operators External Light Controls Message",
+                       "length": 8,
+                       "name": "OEL",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Oprtrs.Desired.Delayed.Lamp.Off.Time" : {
+                                       "generic_name": "Oprtrs.Desired.Delayed.Lamp.Off.Time",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "A 16 bit parameter to be associated with Delayed Off position (1000 binary) of the Main Light Switch.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Operators.Desired.Backlight" : {
+                                       "generic_name": "Operators.Desired.Backlight",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "A 8 bit parameter to indicate the level of back lighting the operator has selected for displays.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "High.Low.Beam.Switch" : {
+                                       "generic_name": "High.Low.Beam.Switch",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A 2 bit parameter to indicate the selected position of the operator's high/low beam select switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LowBeamSelected": [0],
+                                               "HighBeamSelected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hazard.Light.Switch" : {
+                                       "generic_name": "Hazard.Light.Switch",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A 2 bit parameter to indicate the selected position of the operator's hazard light switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HazardLampsToBeOff": [0],
+                                               "HazardLampsToBeFlashing": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Turn.Signal.Switch" : {
+                                       "generic_name": "Turn.Signal.Switch",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A 4 bit parameter to indicate the selected position of the operator's turn signal switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoTurnBeingSignaled": [0],
+                                               "LeftTurnToBeFlashing": [1],
+                                               "RightTurnToBeFlashing": [2],
+                                               "1101Reserved": [3],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Main.Light.Switch" : {
+                                       "generic_name": "Main.Light.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A 4 bit parameter to indicate the selected position of the operator's main light switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OffPsByWhchThOprtrSlctsThtNnOfT": [0],
+                                               "PrkOnPsByWhchThOprtrSlctsThtThP": [1],
+                                               "HdlghtOnPsByWhchThOprtrSlctsTht": [2],
+                                               "HdlghtAndPrkOnPsByWhchThOprtrSl": [3],
+                                               "0111Reserved": [4],
+                                               "DlydOffPsByWhchThOprtrSlctsThtA": [8],
+                                               "1101Reserved": [9],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Work.Light.Switch" : {
+                                       "generic_name": "Work.Light.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A 4 bit parameter to indicate the selected position of the operator's work light switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OffPsByWhchThOprtrSlctsThtNnOfT": [0],
+                                               "WrkLghtCmbntn1OnPsByWhchThOprtr": [1],
+                                               "WrkLghtCmbntn2OnPsByWhchThOprtr": [2],
+                                               "WrkLghtCmbntn3OnPsByWhchThOprtr": [3],
+                                               "WrkLghtCmbntn4OnPsByWhchThOprtr": [4],
+                                               "1101Reserved": [5],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "64997": {
+                       "comment": "Maximum Vehicle Speed Limit Status",
+                       "length": 8,
+                       "name": "MVS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Applied.Vehicle.Speed.Limit" : {
+                                       "generic_name": "Applied.Vehicle.Speed.Limit",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The vehicle speed limit in effect.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit7" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit7",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the seven lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit6" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit6",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the six lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit5" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit5",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the five lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit4" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit4",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the four lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit3" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit3",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the three lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit2" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The highest of the two lowest vehicle speed limits",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit1" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The lowest Maximum Vehicle Speed Limit.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65100": {
+                       "comment": "Military Lighting Command",
+                       "length": 8,
+                       "name": "ML",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Oprtrs.Blck.Out.Intensity.Selection" : {
+                                       "generic_name": "Oprtrs.Blck.Out.Intensity.Selection",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Operators Selection of lamp intensity in black out mode.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Black.Out.Work.Lamp.Select" : {
+                                       "generic_name": "Black.Out.Work.Lamp.Select",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Black Out Work Lamp Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Night.Vision.Illuminator.Select" : {
+                                       "generic_name": "Night.Vision.Illuminator.Select",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Night Vision Illuminator Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Black.Out.Brake_.Stop.Lamp.Select" : {
+                                       "generic_name": "Black.Out.Brake_.Stop.Lamp.Select",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Black Out Brake/Stop Lamp Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Convoy.Driving.Lamp.Select" : {
+                                       "generic_name": "Convoy.Driving.Lamp.Select",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Black Out Convoy Driving Lamp Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Convoy.Lamp.Select" : {
+                                       "generic_name": "Convoy.Lamp.Select",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Black Out Convoy Lamp Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Front.Black.Out.Marker.Lamp.Select" : {
+                                       "generic_name": "Front.Black.Out.Marker.Lamp.Select",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Front Black Out Marker Lamp Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Rear.Black.Out.Marker.Select" : {
+                                       "generic_name": "Rear.Black.Out.Marker.Select",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Rear Black Out Marker Selection",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "NotSupported": [3]
+                                       }
+                               }
+                       }
+               },
+               "64988": {
+                       "comment": "Marine Control Information",
+                       "length": 8,
+                       "name": "MCI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Slow.Vessel.Mode.Status" : {
+                                       "generic_name": "Slow.Vessel.Mode.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The status of the Slow Vessel Mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SlowVesselModeIsOFF": [0],
+                                               "SlowVesselModeIsACTIVE": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trolling.Mode.Status" : {
+                                       "generic_name": "Trolling.Mode.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The status of the Trolling Mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrollingModeIsOFF": [0],
+                                               "TrollingModeIsACTIVE": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Thrttl.Synchrnztion.Mode.Status" : {
+                                       "generic_name": "Eng.Thrttl.Synchrnztion.Mode.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The status of the Throttle Synchronization Mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSynchronized": [0],
+                                               "SynchronizedCenter": [1],
+                                               "SynchronizedPort": [2],
+                                               "SynchronizedStarboard": [3],
+                                               "SynchronizedMaster": [4],
+                                               "1110Reserved": [5],
+                                               "TakeNoAction": [15]
+                                       }
+                               }
+                       }
+               },
+               "65180": {
+                       "comment": "Main Bearing Temperature 3",
+                       "length": 8,
+                       "name": "MBT3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Main.Bearing11.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing11.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing10.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing10.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing9.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing9.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65181": {
+                       "comment": "Main Bearing Temperature 2",
+                       "length": 8,
+                       "name": "MBT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Main.Bearing8.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing8.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing7.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing7.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing6.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing6.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing5.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing5.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65182": {
+                       "comment": "Main Bearing Temperature 1",
+                       "length": 8,
+                       "name": "MBT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Main.Bearing4.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing4.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing3.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing3.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing2.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing2.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Main.Bearing1.Temp" : {
+                                       "generic_name": "Eng.Main.Bearing1.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the main bearing which supports the crankshaft of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65142": {
+                       "comment": "Laser Leveling System Vertical Position Display Data",
+                       "length": 8,
+                       "name": "LVDD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Display.Deadbands" : {
+                                       "generic_name": "Display.Deadbands",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Sets Display Deadbands mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Narrow_45mm": [0],
+                                               "Standard_12mm": [1],
+                                               "Wide_24mm": [2],
+                                               "1110Reserved": [3],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "L.EDPattern.Ctrl" : {
+                                       "generic_name": "L.EDPattern.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Sets LED Pattern control mode on laser leveling systems.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "5Channel": [0],
+                                               "Offset": [1],
+                                               "7Channel": [2],
+                                               "1110Reserved": [3],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "L.EDDisplay.Deadband.Ctrl" : {
+                                       "generic_name": "L.EDDisplay.Deadband.Ctrl",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter informs the system what the selected Display deadband will be.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "_45Mm": [0],
+                                               "_12Mm": [1],
+                                               "_24Mm": [2],
+                                               "_5Mm": [3],
+                                               "_1Mm": [4],
+                                               "1110Reserved": [5],
+                                               "NotAvailableNotApplicable": [15]
+                                       }
+                               },
+                               "L.EDDisplay.Mode.Ctrl" : {
+                                       "generic_name": "L.EDDisplay.Mode.Ctrl",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter informs the system what the selected Display mode will be.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CenterOnGradeDisplayMode1": [0],
+                                               "OffsetOnGradeDisplayMode": [1],
+                                               "CenterOnGradeDisplayMode2": [2],
+                                               "1110Reserved": [3],
+                                               "NotAvailableNotApplicable": [15]
+                                       }
+                               },
+                               "L.EDDisplay.Data1" : {
+                                       "generic_name": "L.EDDisplay.Data1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Informs display devices how to display the current vertical position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HighCoarseLEDOn": [2],
+                                               "HighFineLEDOn": [4],
+                                               "OngradeLEDOn": [8],
+                                               "LowFineLEDOn": [16],
+                                               "LowCoarseLEDOn": [32],
+                                               "LowCoarse": [128],
+                                               "LowMedium_Coarse": [129],
+                                               "LowMedium": [130],
+                                               "LowMedium_Fine": [131],
+                                               "LowFine": [132],
+                                               "OnGrade": [144],
+                                               "HighFine": [145],
+                                               "HighMedium_Fine": [146],
+                                               "HighMedium": [147],
+                                               "HighMedium_Coarse": [148],
+                                               "HighCoarse": [149],
+                                               "NoData": [159],
+                                               "Error": [254],
+                                               "NotAvailable": [511]
+                                       }
+                               }
+                       }
+               },
+               "65141": {
+                       "comment": "Laser Leveling System Vertical Deviation",
+                       "length": 8,
+                       "name": "LVD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Laser.Strike.Data.Latency" : {
+                                       "generic_name": "Laser.Strike.Data.Latency",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 51.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3.289856,
+                                       "comment": "Time from laser strike to CAN message transmission.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Laser.Receiver.Type" : {
+                                       "generic_name": "Laser.Receiver.Type",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies which type of Laser Receiver transmitted the message.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "LinearLaserReceiver": [1]
+                                       }
+                               },
+                               "Laser.Strike.Vertical.Deviation" : {
+                                       "generic_name": "Laser.Strike.Vertical.Deviation",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "The calculated distance from the laser strike position to the current land leveling system reference point.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Abs.Laser.Strike.Pos" : {
+                                       "generic_name": "Abs.Laser.Strike.Pos",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Laser Strike location on the survey type laser receiver.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65137": {
+                       "comment": "Laser Tracer Position",
+                       "length": 8,
+                       "name": "LTP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Laser.Tracer.Information" : {
+                                       "generic_name": "Laser.Tracer.Information",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Provides the status of the laser tracer to the operator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LaserPowerIsOn": [1],
+                                               "LaserIsReady": [2],
+                                               "ValidTarget": [4],
+                                               "PreviousPass": [8],
+                                               "Stringline": [16],
+                                               "Curb": [32]
+                                       }
+                               },
+                               "L.EDDisplay.Data2" : {
+                                       "generic_name": "L.EDDisplay.Data2",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Informs display devices how to display the current position of the laser tracer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OngradeALEDOn": [1],
+                                               "OngradeBLEDOn": [2],
+                                               "OngradeCLEDOn": [4],
+                                               "UpLEDOn": [8],
+                                               "DownLEDOn": [16],
+                                               "LeftLEDOn": [32],
+                                               "RightLEDOn": [64],
+                                               "LowCoarse": [128],
+                                               "LowMedium_Coarse": [129],
+                                               "LowMedium": [130],
+                                               "LowMedium_Fine": [131],
+                                               "LowFine": [132],
+                                               "OnGrade": [144],
+                                               "HighFine": [145],
+                                               "HighMedium_Fine": [146],
+                                               "HighMedium": [147],
+                                               "HighMedium_Coarse": [148],
+                                               "HighCoarse": [149],
+                                               "NoData": [159],
+                                               "Error": [254],
+                                               "NotAvailable": [511]
+                                       }
+                               },
+                               "Laser.Tracer.Horizontal.Deviation" : {
+                                       "generic_name": "Laser.Tracer.Horizontal.Deviation",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The calculated percent deviation between the target distance and the center of the laser tracer.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Laser.Tracer.Vertical.Distance" : {
+                                       "generic_name": "Laser.Tracer.Vertical.Distance",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The elevation of the laser tracer sensor in a laser leveling system.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Laser.Tracer.Target.Deviation" : {
+                                       "generic_name": "Laser.Tracer.Target.Deviation",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "The calculated distance for the laser target to the current laser tracer reference point.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65209": {
+                       "comment": "Trip Fuel Information (Liquid)",
+                       "length": 22,
+                       "name": "LTFI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Cruise.Fuel.Used" : {
+                                       "generic_name": "Trip.Cruise.Fuel.Used",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while the engine is in the cruise hold state since the last trip reset.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Vehicle.Idle.Fuel.Used" : {
+                                       "generic_name": "Trip.Vehicle.Idle.Fuel.Used",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while neither the PTO or remote PTO governor is in the hold state, the engine speed is greater than",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Drive.Fuel.Used" : {
+                                       "generic_name": "Trip.Drive.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while the engine speed is greater than zero, vehicle speed is greater than or equal to 2 km/h, and",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trp.PTOGovernor.Nonmoving.Fuel.Used" : {
+                                       "generic_name": "Trp.PTOGovernor.Nonmoving.Fuel.Used",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while either the PTO or remote PTO governors are in the hold state, the engine speed is greater",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.PTOGovernor.Moving.Fuel.Used" : {
+                                       "generic_name": "Trip.PTOGovernor.Moving.Fuel.Used",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel consumed while either the PTO or remote PTO governors are in the hold state, the engine speed is greater",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Drive.Fuel.Economy" : {
+                                       "generic_name": "Trip.Drive.Fuel.Economy",
+                                       "bit_position": 159,
+                                       "bit_size": 16,
+                                       "factor": 0.001953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125.5,
+                                       "comment": "Trip drive fuel economy is equal to the distance traveled by vehicle in the drive state (engine speed greater than zero,",
+                                       "unit": "km/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65140": {
+                       "comment": "Modify Leveling System Control Set Point",
+                       "length": 8,
+                       "name": "LSP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bld.Height.Set.Point.High.Resolution" : {
+                                       "generic_name": "Bld.Height.Set.Point.High.Resolution",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 100,
+                                       "offset": -209.7152,
+                                       "min_value": -209.7152,
+                                       "max_value": 211.3929215,
+                                       "comment": "High resolution for the laser guided blade set point.",
+                                       "unit": "m",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Modify.Leveling.System.Set.Point" : {
+                                       "generic_name": "Modify.Leveling.System.Set.Point",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Used to control and coordinate the set point for the leveling system.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61453": {
+                       "comment": "Land Leveling System Operational Information",
+                       "length": 8,
+                       "name": "LOI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sdshft.Dsrd.Bld.Offset.Operator.Ctrl" : {
+                                       "generic_name": "Sdshft.Dsrd.Bld.Offset.Operator.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the side-shift blade control mode operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOperatorCtrlRq": [0],
+                                               "MomentaryOperatorCtrlRq": [1],
+                                               "ManualOperatorCtrlRq": [2],
+                                               "AutomaticOperatorCtrlRq": [3],
+                                               "1101Reserved": [4],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Sdshft.Bld.Ctrl.Mde.Operator.Control" : {
+                                       "generic_name": "Sdshft.Bld.Ctrl.Mde.Operator.Control",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the side-shift offset operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOperatorCtrlRq": [0],
+                                               "IncrementOperatorCtrlRq": [1],
+                                               "DecrementOperatorCtrlRq": [2],
+                                               "1101Reserved": [3],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Rght.Dsrd.Blade.Offset.Operator.Ctrl" : {
+                                       "generic_name": "Rght.Dsrd.Blade.Offset.Operator.Ctrl",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the right blade offset operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOperatorCtrlRq": [0],
+                                               "OprtrCtrlSttCnBRdInTwWysOnMthdU": [1],
+                                               "DecrementOperatorCtrlRq": [2],
+                                               "1101Reserved": [3],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Rght.Blde.Ctrl.Mode.Operator.Control" : {
+                                       "generic_name": "Rght.Blde.Ctrl.Mode.Operator.Control",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the right blade control mode operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoChange": [0],
+                                               "MomentaryOperatorCtrlRq": [1],
+                                               "ManualOperatorCtrlRq": [2],
+                                               "AutomaticOperatorCtrlRq": [3],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Lft.Dsred.Blade.Offset.Operator.Ctrl" : {
+                                       "generic_name": "Lft.Dsred.Blade.Offset.Operator.Ctrl",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the left blade offset operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoOperatorCtrlRq": [0],
+                                               "OprtrCtrlSttCnBRdInTwWysOnMthdU": [1],
+                                               "DecrementOperatorCtrlRq": [2],
+                                               "1101Reserved": [3],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Lft.Blade.Ctrl.Mode.Operator.Control" : {
+                                       "generic_name": "Lft.Blade.Ctrl.Mode.Operator.Control",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the left blade control mode operator control state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoChange": [0],
+                                               "OprtrCtrlSttCnBRdInTwWysOnMthdU": [1],
+                                               "ManualOperatorCtrlRq": [2],
+                                               "AutomaticOperatorCtrlRq": [3],
+                                               "1101Reserved": [12],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Blade.Auto.Mode.Cmd" : {
+                                       "generic_name": "Blade.Auto.Mode.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Allows other controllers to command to the primary control system what they think is the appropriate auto control mode to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AutoAllowed": [0],
+                                               "ActvtyAllwsAtMstDtctOprtrBfrAtA": [1],
+                                               "SspndAtTmprarilySuspendAutoMode": [2],
+                                               "SrvcMdAtAllwdOnlyDrngSrvceModes": [3],
+                                               "AutoNotAllowed": [4],
+                                               "ErrorIndicator": [14],
+                                               "NotSupported": [15]
+                                       }
+                               },
+                               "Desired.Grade.Offset.Switch" : {
+                                       "generic_name": "Desired.Grade.Offset.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the grade offset switch state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoButtonPressed": [0],
+                                               "SwtchSttCnBRdInTwWysOnMthdUssTh": [1],
+                                               "DecrementButtonPressed": [2],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "Blade.Ctrl.Mode.Switch" : {
+                                       "generic_name": "Blade.Ctrl.Mode.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the blade control mode switch state the user has set for the land leveling system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoButtonPressed": [0],
+                                               "SwtchSttCnBRdInTwWysOnMthdUssTh": [1],
+                                               "ManualButtonPressed": [2],
+                                               "AutomaticButtonPressed": [3],
+                                               "ErrorIndicator": [14],
+                                               "NotInstalled": [15]
+                                       }
+                               },
+                               "St.Elvtn.Snsor2.Reference.Elevation" : {
+                                       "generic_name": "St.Elvtn.Snsor2.Reference.Elevation",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command from a display or other external device (i.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoNotSetReferenceElevation": [0],
+                                               "SetReferenceElevation": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "St.Elvtn.Snsor1.Reference.Elevation" : {
+                                       "generic_name": "St.Elvtn.Snsor1.Reference.Elevation",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command from a display or other external device (i.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoNotSetReferenceElevation": [0],
+                                               "SetReferenceElevation": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "65139": {
+                       "comment": "Laser Receiver Mast Position",
+                       "length": 8,
+                       "name": "LMP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Mast.Pos" : {
+                                       "generic_name": "Mast.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Used to monitor the position of the sensor attached to the land leveling mast.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65203": {
+                       "comment": "Fuel Information (Liquid)",
+                       "length": 8,
+                       "name": "LFI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Eng.PTOGovernor.Fuel.Used" : {
+                                       "generic_name": "Total.Eng.PTOGovernor.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total fuel used while the PTO or remote PTO governors are in the hold state and engine speed is above zero, over the",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Average.Fuel.Rate" : {
+                                       "generic_name": "Trip.Average.Fuel.Rate",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Average fuel rate, equal to trip fuel divided by trip time while the engine speed is above zero, since the last trip reset.",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Flexible.Fuel.Percentage" : {
+                                       "generic_name": "Flexible.Fuel.Percentage",
+                                       "bit_position": 47,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "Measured signal that indicates the percentage of alcohol in the fuel currently being used.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MansAlcoholAsFuelAndNothingElse": [4]
+                                       }
+                               }
+                       }
+               },
+               "65266": {
+                       "comment": "Fuel Economy (Liquid)",
+                       "length": 8,
+                       "name": "LFE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Average.Fuel.Economy" : {
+                                       "generic_name": "Eng.Average.Fuel.Economy",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.001953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125.5,
+                                       "comment": "Average of instantaneous fuel economy for that segment of vehicle operation of interest.",
+                                       "unit": "km/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Instantaneous.Fuel.Economy" : {
+                                       "generic_name": "Eng.Instantaneous.Fuel.Economy",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.001953125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125.5,
+                                       "comment": "Current fuel economy at current vehicle velocity.",
+                                       "unit": "km/L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Rate" : {
+                                       "generic_name": "Eng.Fuel.Rate",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Amount of fuel consumed by engine per unit of time.",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Throttle.Valve2.Pos" : {
+                                       "generic_name": "Eng.Throttle.Valve2.Pos",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The sensed position feedback of the valve, coming from a second electrical actuator for a second throttle plate, used to",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Throttle.Valve1.Pos" : {
+                                       "generic_name": "Eng.Throttle.Valve1.Pos",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of the valve used to regulate the supply of a fluid, usually air or fuel/air mixture, to an engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65257": {
+                       "comment": "Fuel Consumption (Liquid)",
+                       "length": 8,
+                       "name": "LFC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Total.Fuel.Used" : {
+                                       "generic_name": "Eng.Total.Fuel.Used",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Accumulated amount of fuel used during vehicle operation.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Trip.Fuel" : {
+                                       "generic_name": "Eng.Trip.Fuel",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Fuel consumed during all or part of a journey.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64991": {
+                       "comment": "Front Wheel Drive Status",
+                       "length": 8,
+                       "name": "FWD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Front.Wheel.Drive.Actuator.Status" : {
+                                       "generic_name": "Front.Wheel.Drive.Actuator.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Feedback on the front wheel drive actuator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FrntWhelDriveActuatorNotEngaged": [0],
+                                               "FrontWheelDriveActuatorEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64977": {
+                       "comment": "FMS-standard Interface Identity/Capabilities",
+                       "length": 8,
+                       "name": "FMS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "F.MSstandard.SWversion.Supported" : {
+                                       "generic_name": "F.MSstandard.SWversion.Supported",
+                                       "bit_position": 7,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Information that identifies which issue level of the FMS-standard document the software included in the FMS gateway supports.",
+                                       "unit": "per",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "F.MSstandard.Rqs.Supported" : {
+                                       "generic_name": "F.MSstandard.Rqs.Supported",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates if the FMS Vehicle Interface (FMS Gateway) will respond to requests from the FMS device",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OnRqModeIsNotSupported": [0],
+                                               "OnRqModeIsSupported": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               },
+                               "F.MSstandard.Diagnostics.Supported" : {
+                                       "generic_name": "F.MSstandard.Diagnostics.Supported",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates if the FMS Vehicle Interface (FMS Gateway) supports the handling of diagnostic messages",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiagnosticsIsNotSupported": [0],
+                                               "DiagnosticsIsSupported": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               }
+                       }
+               },
+               "65115": {
+                       "comment": "Forward Lane Image",
+                       "length": 8,
+                       "name": "FLI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Ln.Dprture.Indication.Enable.Status" : {
+                                       "generic_name": "Ln.Dprture.Indication.Enable.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether lane departure indication is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LaneDepartureIndicationDisabled": [0],
+                                               "LaneDepartureIndicationEnabled": [1],
+                                               "Reserved": [2],
+                                               "NotUsed": [3]
+                                       }
+                               },
+                               "Lane.Tracking.Status.Left.Side" : {
+                                       "generic_name": "Lane.Tracking.Status.Left.Side",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the left side is tracking lane.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotTrackingLeftSide": [0],
+                                               "TrackingLeftSide": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Lane.Tracking.Status.Right.Side" : {
+                                       "generic_name": "Lane.Tracking.Status.Right.Side",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether right side is tracking lane.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotTrackingRightSide": [0],
+                                               "TrackingRightSide": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "61447": {
+                       "comment": "Forward Lane Image urgent msg",
+                       "length": 8,
+                       "name": "FLI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Lane.Departure.Imminent.Left.Side" : {
+                                       "generic_name": "Lane.Departure.Imminent.Left.Side",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates departure imminent on left side of lane.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotImminent": [0],
+                                               "Imminent": [1],
+                                               "Reserved": [2],
+                                               "NotUsed": [3]
+                                       }
+                               },
+                               "Lane.Departure.Imminent.Right.Side" : {
+                                       "generic_name": "Lane.Departure.Imminent.Right.Side",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates departure imminent on right side of lane.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotImminent": [0],
+                                               "Imminent": [1],
+                                               "Reserved": [2],
+                                               "NotUsed": [3]
+                                       }
+                               },
+                               "Lane.Departure.Right" : {
+                                       "generic_name": "Lane.Departure.Right",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the middle of vehicle departs the lane on the right side.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MddlOfVhclDsNtDprtThLnTThRghtSd": [0],
+                                               "MddlOfVhclDprtsThLnTThRightSide": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Lane.Departure.Left" : {
+                                       "generic_name": "Lane.Departure.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the middle of vehicle departs the lane on the left side.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MddlOfVhclDsNtDprtThLnTThLftSde": [0],
+                                               "MddlOfVhclDprtsThLnTTheLeftSide": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "65169": {
+                       "comment": "Fuel Leakage",
+                       "length": 8,
+                       "name": "FL",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Leakage2" : {
+                                       "generic_name": "Eng.Fuel.Leakage2",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates fuel leakage in the fuel rail of the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoLeakageDetected": [0],
+                                               "LeakageDetected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Leakage1" : {
+                                       "generic_name": "Eng.Fuel.Leakage1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates fuel leakage in the fuel rail of the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoLeakageDetected": [0],
+                                               "LeakageDetected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65213": {
+                       "comment": "Fan Drive",
+                       "length": 8,
+                       "name": "FD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fan.Speed" : {
+                                       "generic_name": "Fan.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The speed of the fan associated with engine coolant system.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fan.Drive.State" : {
+                                       "generic_name": "Fan.Drive.State",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter is used to indicate the current state or mode of operation by the fan drive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FanOff": [0],
+                                               "EngSystemGeneral": [1],
+                                               "ExcessiveEngAirTemp": [2],
+                                               "ExcessiveEngOilTemp": [3],
+                                               "ExcessiveEngCoolantTemp": [4],
+                                               "ExcessiveTransOilTemp": [5],
+                                               "ExcessiveHydOilTemp": [6],
+                                               "DefaultOperation": [7],
+                                               "ReverseOperation": [8],
+                                               "ManualCtrl": [9],
+                                               "TransRetarder": [10],
+                                               "A_CSystem": [11],
+                                               "Timer": [12],
+                                               "EngBrake": [13],
+                                               "Other": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Est.Percent.Fan.Speed" : {
+                                       "generic_name": "Est.Percent.Fan.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Estimated fan speed as a ratio of the fan drive (current speed) to the fully engaged fan drive (maximum fan speed).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Hyd.Fan.Motor.Press" : {
+                                       "generic_name": "Hyd.Fan.Motor.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The hydraulic pressure used to drive the fan system, sensed before the hydraulic fan motor.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fan.Drive.Bypass.Cmd.Status" : {
+                                       "generic_name": "Fan.Drive.Bypass.Cmd.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Status of the Fan Drive Bypass Command as being commanded by the ECU.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65168": {
+                       "comment": "Engine Torque History",
+                       "length": 33,
+                       "name": "ETH",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Torque.Limit6.Axle.Input" : {
+                                       "generic_name": "Eng.Torque.Limit6.Axle.Input",
+                                       "bit_position": 247,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Limit applied to the engine output torque based on the maximum allowable axle input torque.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit5.Switch" : {
+                                       "generic_name": "Eng.Torque.Limit5.Switch",
+                                       "bit_position": 231,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Limit applied to the engine output torque based on activation of an ECU switch input.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit4.Trans" : {
+                                       "generic_name": "Eng.Torque.Limit4.Trans",
+                                       "bit_position": 215,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Limit applied to the engine output torque during vehicle operation in transmission gear ratios numerically less than or",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit3.Trans" : {
+                                       "generic_name": "Eng.Torque.Limit3.Trans",
+                                       "bit_position": 199,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Limit applied to the engine output torque during vehicle operation in transmission gear ratios numerically less than or",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Gear.Ratio3" : {
+                                       "generic_name": "Trans.Gear.Ratio3",
+                                       "bit_position": 183,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "Gear ratio value stored in the ECU that is used to define a range of transmission gears for which a limit is applied to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit2.Trans" : {
+                                       "generic_name": "Eng.Torque.Limit2.Trans",
+                                       "bit_position": 167,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Limit applied to the engine output torque during vehicle operation in transmission gear ratios numerically less than or",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Gear.Ratio2" : {
+                                       "generic_name": "Trans.Gear.Ratio2",
+                                       "bit_position": 151,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "Gear ratio value stored in the ECU that is used to define a range of transmission gears for which a limit is applied to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit1.Trans" : {
+                                       "generic_name": "Eng.Torque.Limit1.Trans",
+                                       "bit_position": 135,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Limit applied to the engine output torque during vehicle operation in transmission gear ratios numerically greater than",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Gear.Ratio1" : {
+                                       "generic_name": "Trans.Gear.Ratio1",
+                                       "bit_position": 119,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "Gear ratio value stored in the ECU that is used to define a range of transmission gears for which a limit is applied to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit.Feature" : {
+                                       "generic_name": "Eng.Torque.Limit.Feature",
+                                       "bit_position": 113,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Torque limit rating described in the current record.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "HighestTorqueRating": [1],
+                                               "FirstTorqueRating": [2],
+                                               "PreviousTorqueRating": [3],
+                                               "CurrentTorqueRating": [4],
+                                               "110Reserved": [5],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Torque.Limiting.Feature.Status" : {
+                                       "generic_name": "Torque.Limiting.Feature.Status",
+                                       "bit_position": 111,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of an ECU feature which limits the torque output of the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disabled": [0],
+                                               "Enabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Calib.Record.Duration.Time" : {
+                                       "generic_name": "Calib.Record.Duration.Time",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Duration in hours for which the engine operated in the conditions captured in the current record.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calib.Record.Start.Year" : {
+                                       "generic_name": "Calib.Record.Start.Year",
+                                       "bit_position": 71,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 1985,
+                                       "min_value": 1985,
+                                       "max_value": 2235,
+                                       "comment": "Calendar year timestamp when an ECU record was established.",
+                                       "unit": "years",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calib.Record.Start.Day" : {
+                                       "generic_name": "Calib.Record.Start.Day",
+                                       "bit_position": 63,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "Calendar day timestamp when an ECU record was established.",
+                                       "unit": "days",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calib.Record.Start.Month" : {
+                                       "generic_name": "Calib.Record.Start.Month",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Calendar month timestamp when an ECU record was established.",
+                                       "unit": "months",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Peak.Torque2" : {
+                                       "generic_name": "Eng.Peak.Torque2",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Maximum torque output of the current ECU calibration when the engine operates on torque curve 2.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Peak.Torque1" : {
+                                       "generic_name": "Eng.Peak.Torque1",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Maximum torque output of the current ECU calibration when the engine operates on torque curve 1.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Power" : {
+                                       "generic_name": "Eng.Power",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Advertised engine power capability.",
+                                       "unit": "kW",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Of.Eng.Torque.History.Records" : {
+                                       "generic_name": "Number.Of.Eng.Torque.History.Records",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Number of torque history records contained in the engine torque history PGN.",
+                                       "unit": "records",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61452": {
+                       "comment": "Electronic Transmission Controller #8",
+                       "length": 8,
+                       "name": "ETC8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Clutch_.Converter.Input.Speed" : {
+                                       "generic_name": "Trans.Clutch_.Converter.Input.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Rotational velocity of the input to a transmission's master clutch or torque converter.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Torque.Converter.Ratio" : {
+                                       "generic_name": "Trans.Torque.Converter.Ratio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Ratio of the transmissions torque converter output torque to torque converter input torque at current speed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RatioCannotBeProperlyDetermined": [64256]
+                                       }
+                               }
+                       }
+               },
+               "65098": {
+                       "comment": "Electronic Transmission Controller 7",
+                       "length": 8,
+                       "name": "ETC7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trns.Rvrse.Gear.Shift.Inhibit.Status" : {
+                                       "generic_name": "Trns.Rvrse.Gear.Shift.Inhibit.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reflects the status of transmission reverse inhibit activity in response to requests via SPN 4242 - Transmission Reverse",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RvrsGrShiftsAreCurrentlyAllowed": [0],
+                                               "RvrsGrShftsArCurrentlyInhibited": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trns.Crrnt.Range.Display.Blank.State" : {
+                                       "generic_name": "Trns.Crrnt.Range.Display.Blank.State",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating a transmission request for the display of the Transmission Current Range parameter (SPN 163) to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotBlanked": [0],
+                                               "Blanked": [1],
+                                               "Error": [2],
+                                               "NotSupported": [3]
+                                       }
+                               },
+                               "Trans.Warning.Indicator" : {
+                                       "generic_name": "Trans.Warning.Indicator",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal from transmission indicating that some aspect of its operation is not functioning correctly, and as a result,",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransWarningIndicatorIsOff": [0],
+                                               "TrnsWrnngIndctrIsOnContinuously": [1],
+                                               "TransWarningIndicatorIsFlashing": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Mode8.Indicator" : {
+                                       "generic_name": "Trans.Mode8.Indicator",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 8 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode7.Indicator" : {
+                                       "generic_name": "Trans.Mode7.Indicator",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 7 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode6.Indicator" : {
+                                       "generic_name": "Trans.Mode6.Indicator",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 6 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Mode5.Indicator" : {
+                                       "generic_name": "Trans.Mode5.Indicator",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether transmission mode 5 is enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Disable": [0],
+                                               "Enable": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Rqed.Gear.Feedback" : {
+                                       "generic_name": "Trans.Rqed.Gear.Feedback",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Feedback of the SPN 525 Transmission Requested Gear input as received from the shift selector, ABS or engine via",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Mode1.Indicator" : {
+                                       "generic_name": "Trans.Mode1.Indicator",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This state signal is the transmission's indication that it is operating under transmission mode 1 (SPN 1852) as",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransMode1NotActive": [0],
+                                               "TransMode1Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Mode2.Indicator" : {
+                                       "generic_name": "Trans.Mode2.Indicator",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This state signal is the transmission's indication that it is operating under transmission mode 2 (SPN 1853) as",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransMode2NotActive": [0],
+                                               "TransMode2Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Mode3.Indicator" : {
+                                       "generic_name": "Trans.Mode3.Indicator",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This state signal is the transmission's indication that it is operating under transmission mode 3 (SPN 1854) as",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransMode3NotActive": [0],
+                                               "TransMode3Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Mode4.Indicator" : {
+                                       "generic_name": "Trans.Mode4.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This state signal is the transmission's indication that it is operating under transmission mode 4 (SPN 1855) as",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransMode4NotActive": [0],
+                                               "TransMode4Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Inhibit.Indicator" : {
+                                       "generic_name": "Trans.Shift.Inhibit.Indicator",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating a transmission request for the Shift Inhibit Indicator to be active or inactive.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InactiveShiftIsNotInhibited": [0],
+                                               "ActiveShiftIsInhibited": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Eng.Crank.Enable" : {
+                                       "generic_name": "Trans.Eng.Crank.Enable",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal from the transmission indicating if the transmission's status is such that engine cranking is allowed (i.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CrnkngDsbldEngCrnkngIsPrhbtdByT": [0],
+                                               "CrnkngEnbldEngCrnkngIsAllwdByTr": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Active.Shift.Console.Indicator" : {
+                                       "generic_name": "Active.Shift.Console.Indicator",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal from transmission control unit indicating which shift console (primary or secondary) it currently considers as the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PrimaryShiftConsoleIsActive": [0],
+                                               "SecondShiftConsoleIsActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Ready.For.Brake.Release" : {
+                                       "generic_name": "Trans.Ready.For.Brake.Release",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates that enough torque / motive force is available at the transmission output shaft to release all the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransNotReadyForBrakeRelease": [0],
+                                               "TransReadyForBrakeRelease": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Rqed.Range.Display.Flash.State" : {
+                                       "generic_name": "Trans.Rqed.Range.Display.Flash.State",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating a transmission request for the display of the Transmission Requested Range parameter (SPN 162)",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InctvTrnsRqdRngDsplyShldNtBFlsh": [0],
+                                               "ActvTrnsRqdRngDsplyShldBFlshing": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Rqed.Range.Display.Blank.State" : {
+                                       "generic_name": "Trans.Rqed.Range.Display.Blank.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating a transmission request for the display of the Transmission Requested Range parameter (SPN162)",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InctvTrnsRqdRngDsplyShldNtBBlnk": [0],
+                                               "ActvTrnsRqdRngDsplyShldBBlanked": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trans.Service.Indicator" : {
+                                       "generic_name": "Trans.Service.Indicator",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal from transmission indicating that some aspect of the gearbox requires servicing, such as the oil, filter, clutch(es) or",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SeviceIndicatorOff": [0],
+                                               "ServiceIndicatorOn": [1],
+                                               "ServiceIndicatorFlashing": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65195": {
+                       "comment": "Electronic Transmission Controller 6",
+                       "length": 8,
+                       "name": "ETC6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Clutch.Life.Remaining" : {
+                                       "generic_name": "Clutch.Life.Remaining",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Signal which indicates the actual clutch life remaining in percent.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Lowest.Possible.Gear" : {
+                                       "generic_name": "Lowest.Possible.Gear",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The transmission calculates this gear continuously.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Park": [251]
+                                       }
+                               },
+                               "Highest.Possible.Gear" : {
+                                       "generic_name": "Highest.Possible.Gear",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The transmission calculates this gear continuously.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Park": [251]
+                                       }
+                               },
+                               "Recommended.Gear" : {
+                                       "generic_name": "Recommended.Gear",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The transmission calculates this gear continuously.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Park": [251]
+                                       }
+                               }
+                       }
+               },
+               "65219": {
+                       "comment": "Electronic Transmission Controller 5",
+                       "length": 8,
+                       "name": "ETC5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Forward.Direction.Switch" : {
+                                       "generic_name": "Trans.Forward.Direction.Switch",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the switch that indicates forward direction.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Neutral.Switch" : {
+                                       "generic_name": "Trans.Neutral.Switch",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the switch that indicates neutral.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Reverse.Direction.Switch" : {
+                                       "generic_name": "Trans.Reverse.Direction.Switch",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the switch that indicates reverse direction.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Low.Range.Sense.Switch" : {
+                                       "generic_name": "Trans.Low.Range.Sense.Switch",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the switch that represents low range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.High.Range.Sense.Switch" : {
+                                       "generic_name": "Trans.High.Range.Sense.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the switch that represents high range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65221": {
+                       "comment": "Electronic Transmission Controller 4",
+                       "length": 8,
+                       "name": "ETC4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Synchronizer.Brake.Value" : {
+                                       "generic_name": "Trans.Synchronizer.Brake.Value",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current modulated value for the air supply to the synchronizer brake.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Synchronizer.Clutch.Value" : {
+                                       "generic_name": "Trans.Synchronizer.Clutch.Value",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current modulated value for the air supply to the synchronizer clutch.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65223": {
+                       "comment": "Electronic Transmission Controller 3",
+                       "length": 8,
+                       "name": "ETC3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Inertia.Brake.Actuator" : {
+                                       "generic_name": "Trans.Inertia.Brake.Actuator",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that controls the inertia brake.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Defuel.Actuator" : {
+                                       "generic_name": "Trans.Defuel.Actuator",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that controls the engine defuel mechanism.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Lockup.Clutch.Actuator" : {
+                                       "generic_name": "Trans.Lockup.Clutch.Actuator",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that controls the lockup clutch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Clutch.Actuator" : {
+                                       "generic_name": "Trans.Clutch.Actuator",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that controls the clutch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Splitter.Indirect.Actuator" : {
+                                       "generic_name": "Trans.Splitter.Indirect.Actuator",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the splitter indirect actuator in the auxiliary unit.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Splitter.Direct.Actuator" : {
+                                       "generic_name": "Trans.Splitter.Direct.Actuator",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the splitter direct actuator in the auxiliary unit.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Range.Low.Actuator" : {
+                                       "generic_name": "Trans.Range.Low.Actuator",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the range low actuator in the auxiliary unit.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Range.High.Actuator" : {
+                                       "generic_name": "Trans.Range.High.Actuator",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the range high actuator in the auxiliary unit.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Finger.Gear.Actuator2" : {
+                                       "generic_name": "Trans.Shift.Finger.Gear.Actuator2",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that moves the shift finger identified as gear actuator #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Finger.Rail.Actuator2" : {
+                                       "generic_name": "Trans.Shift.Finger.Rail.Actuator2",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that moves the shift finger identified as rail actuator #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Finger.Gear.Actuator1" : {
+                                       "generic_name": "Trans.Shift.Finger.Gear.Actuator1",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that moves the shift finger identified as gear actuator #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Finger.Rail.Actuator1" : {
+                                       "generic_name": "Trans.Shift.Finger.Rail.Actuator1",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the actuator that moves the shift finger identified as rail actuator #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trns.Shft.Fngr.Center.Rail.Indicator" : {
+                                       "generic_name": "Trns.Shft.Fngr.Center.Rail.Indicator",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the shift finger in the center rail position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trns.Shft.Fngr.Engagement.Indicator" : {
+                                       "generic_name": "Trns.Shft.Fngr.Engagement.Indicator",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the shift finger in the engagement position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trns.Shift.Finger.Neutral.Indicator" : {
+                                       "generic_name": "Trns.Shift.Finger.Neutral.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the status of the shift finger in the neutral position.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Shift.Finger.Rail.Pos" : {
+                                       "generic_name": "Trans.Shift.Finger.Rail.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current position of the shift finger in the rail direction.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Shift.Finger.Gear.Pos" : {
+                                       "generic_name": "Trans.Shift.Finger.Gear.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current position of the shift finger in the gear direction.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61445": {
+                       "comment": "Electronic Transmission Controller 2",
+                       "length": 8,
+                       "name": "ETC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Current.Range" : {
+                                       "generic_name": "Trans.Current.Range",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Range currently being commanded by the transmission control system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Rqed.Range" : {
+                                       "generic_name": "Trans.Rqed.Range",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Range selected by the operator.",
+                                       "unit": "per",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Current.Gear" : {
+                                       "generic_name": "Trans.Current.Gear",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The gear currently engaged in the transmission or the last gear engaged while the transmission is in the process of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Park": [251]
+                                       }
+                               },
+                               "Trans.Actual.Gear.Ratio" : {
+                                       "generic_name": "Trans.Actual.Gear.Ratio",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Actual ratio of input shaft speed to output shaft speed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Selected.Gear" : {
+                                       "generic_name": "Trans.Selected.Gear",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The gear that the transmission will attempt to achieve during the current shift if a shift is in progress, or the next shift if one",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Park": [251]
+                                       }
+                               }
+                       }
+               },
+               "61442": {
+                       "comment": "Electronic Transmission Controller 1",
+                       "length": 8,
+                       "name": "ETC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trns.Trque.Converter.Lockup.Engaged" : {
+                                       "generic_name": "Trns.Trque.Converter.Lockup.Engaged",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates whether the torque converter lockup is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TorqueConverterLockupDisengaged": [0],
+                                               "TorqueConverterLockupEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess" : {
+                                       "generic_name": "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating whether or not the transmission torque converter lock up clutch is transitioning between being",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TransitionIsNotInProcess": [0],
+                                               "TransitionIsInProcess": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl" : {
+                                       "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The source address of the SAE J1939 device currently controlling the transmission.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Momentary.Eng.Max.Power.Enable" : {
+                                       "generic_name": "Momentary.Eng.Max.Power.Enable",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Momentarily Requesting highest torque map from the engine control",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notRqingMaxPowerAvailable": [0],
+                                               "mmntarilyRqingMaxPowerAvailable": [1],
+                                               "fault": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Trans.Input.Shaft.Speed" : {
+                                       "generic_name": "Trans.Input.Shaft.Speed",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Rotational velocity of the primary shaft transferring power into the transmission.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Progressive.Shift.Disable" : {
+                                       "generic_name": "Progressive.Shift.Disable",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to indicate that progressive shifting by the engine should be disallowed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ProgressiveShiftIsNotDisabled": [0],
+                                               "ProgressiveShiftIsDisabled": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Momentary.Overspeed.Enable" : {
+                                       "generic_name": "Eng.Momentary.Overspeed.Enable",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal used to indicate that the engine speed may be boosted up to the maximum engine overspeed value to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MomentaryEngOverspeedIsDisabled": [0],
+                                               "MomentaryEngOverspeedIsEnabled": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Percent.Clutch.Slip" : {
+                                       "generic_name": "Percent.Clutch.Slip",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Parameter which represents the ratio of input shaft speed to current engine speed (in percent).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Output.Shaft.Speed" : {
+                                       "generic_name": "Trans.Output.Shaft.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Calculated speed of the transmission output shaft.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Shift.In.Process" : {
+                                       "generic_name": "Trans.Shift.In.Process",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the transmission is in process of shifting from the current gear to the selected gear.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ShiftIsNotInProcess": [0],
+                                               "ShiftInProcess": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Trans.Driveline.Engaged" : {
+                                       "generic_name": "Trans.Driveline.Engaged",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Driveline engaged indicates the transmission controlled portion of the driveline is engaged sufficiently to allow a transfer",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DrivelineDisengaged": [0],
+                                               "DrivelineEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65129": {
+                       "comment": "Engine Temperature 3",
+                       "length": 8,
+                       "name": "ET3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Charge.Air.Cooler1.Outlet.Temp" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler1.Outlet.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of combustion air after it exits from the Charge Air Cooler 1 but before any mixing of recirculated exhaust",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Actation.System.Oil.Temp" : {
+                                       "generic_name": "Eng.Intk.Vlv.Actation.System.Oil.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The temperature of the oil in the hydraulic system that powers the intake valve actuation system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold1.Air.Temp" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Air.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of pre-combustion air found in intake manifold of engine air supply system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Temp.Hi.Res" : {
+                                       "generic_name": "Eng.Coolant.Temp.Hi.Res",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of liquid found in engine cooling system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65188": {
+                       "comment": "Engine Temperature 2",
+                       "length": 8,
+                       "name": "ET2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Rcrculation1.Diff.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation1.Diff.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Differential pressure across the Exhaust Gas Recirculation (EGR) system",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Recirculation1.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Recirculation1.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of Recirculated Exhaust Gas.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.ECUTemp" : {
+                                       "generic_name": "Eng.ECUTemp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the engine electronic control unit.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Temp2" : {
+                                       "generic_name": "Eng.Oil.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the engine lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65262": {
+                       "comment": "Engine Temperature 1",
+                       "length": 8,
+                       "name": "ET1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Temp1" : {
+                                       "generic_name": "Eng.Fuel.Temp1",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of fuel (or gas) passing through the first fuel control system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intercooler.Thermostat.Opening" : {
+                                       "generic_name": "Eng.Intercooler.Thermostat.Opening",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current position of the thermostat used to regulate the temperature of the engine intercooler.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intercooler.Temp" : {
+                                       "generic_name": "Eng.Intercooler.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of liquid found in the intercooler located after the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Turbo.Oil.Temp" : {
+                                       "generic_name": "Eng.Turbo.Oil.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the turbocharger lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Temp1" : {
+                                       "generic_name": "Eng.Oil.Temp1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the engine lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Temp" : {
+                                       "generic_name": "Eng.Coolant.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": -265.03125,
+                                       "comment": "Temperature of liquid found in engine cooling system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65031": {
+                       "comment": "Exhaust Temperature",
+                       "length": 8,
+                       "name": "ET",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Temp.Right.Manifold" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp.Right.Manifold",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of combustion byproducts within the right engine exhaust manifold.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Temp.Left.Manifold" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp.Left.Manifold",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of combustion byproducts within the left engine exhaust manifold.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61451": {
+                       "comment": "Electronic Steering Control",
+                       "length": 8,
+                       "name": "ESC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sterable.Lift.Axle.Lowering.Inhibit" : {
+                                       "generic_name": "Sterable.Lift.Axle.Lowering.Inhibit",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A signal which indicates if lowering of lifted axle is allowed or inhibited.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LoweringAllowed": [0],
+                                               "LoweringInhibited": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Axle.Location" : {
+                                       "generic_name": "Axle.Location",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "To identify to which of several similar devices (such as tires or fuel tanks) the information applies.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Type.Of.Steer.Trans" : {
+                                       "generic_name": "Type.Of.Steer.Trans",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Steering Transmission (Ref.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PrlyMchStrTrnsAStrngTrnsmssnInW": [0],
+                                               "PrlyHydStrTrnsAStrngTrnsmssnInW": [1],
+                                               "PrlyElctrcStrTrnsAStrngTrnsmssn": [2],
+                                               "HybrdStrTrnsAStrngTrnsmssnInWhc": [3],
+                                               "1110ReservedForSAEAssignment": [4],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Type.Of.Steer.Forces" : {
+                                       "generic_name": "Type.Of.Steer.Forces",
+                                       "bit_position": 35,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Steering Forces (Ref.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MnlStrEqpmntStrngFrcsRsltSllyFr": [0],
+                                               "PwrAssstdStrEqpmntStrngFrcsRslt": [1],
+                                               "FllPwrStrEqpmntStrngFrcsArPrvdd": [2],
+                                               "SlfTrckngStrEqpmntASystmDsgndTC": [3],
+                                               "1110ReservedForSAEAssignment": [4],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Steer.Type" : {
+                                       "generic_name": "Steer.Type",
+                                       "bit_position": 31,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the different types of steering systems (ref.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MnStrSystmStrngEqpmntOfAVhclWhc": [0],
+                                               "AxStrEqpmntASystmInWhchWhlsOnAx": [1],
+                                               "1110ReservedForAssignmentBySAE": [2],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Status.Of.Steer.Axle" : {
+                                       "generic_name": "Status.Of.Steer.Axle",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A signal which indicates different states of the steering axle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AxleSteerNotActive": [0],
+                                               "AxleSteerActive": [1],
+                                               "AxleCentered": [2],
+                                               "AxleCenteredBecauseOfAnError": [3],
+                                               "AxleNotActiveBecauseOfAnError": [4],
+                                               "AxleSteerInSpecialMode": [5],
+                                               "1110ReservedForSAEAssignment": [6],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Actual.Inner.Wheel.Steer.Angle" : {
+                                       "generic_name": "Actual.Inner.Wheel.Steer.Angle",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Signal which indicates the actual inner wheel steering angle.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65218": {
+                       "comment": "Electronic Retarder Controller 2",
+                       "length": 8,
+                       "name": "ERC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Output.Retarder" : {
+                                       "generic_name": "Trans.Output.Retarder",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the status of the transmission output retarder.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "61440": {
+                       "comment": "Electronic Retarder Controller 1",
+                       "length": 8,
+                       "name": "ERC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Retarder.Selection.Non.Eng" : {
+                                       "generic_name": "Retarder.Selection.Non.Eng",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The [Retarder Selection, non-engine] is the position of the driver's selector for retarders that are not part of the engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Src.Addrss.Of.Ctrllng.Dvc.Fr.Rtrdr.Cntrl" : {
+                                       "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Rtrdr.Cntrl",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The source address of the SAE J1939 device currently controlling the retarder.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Road.Speed.Limit.Switch" : {
+                                       "generic_name": "Retarder.Road.Speed.Limit.Switch",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retarder road speed limit switch states:",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RdSpdLmtingByRetarderIsDisabled": [0],
+                                               "RdSpdLmtngByRtrdrIsEnbldRdSpdTh": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Retarder.Road.Speed.Exceeded.Status" : {
+                                       "generic_name": "Retarder.Road.Speed.Exceeded.Status",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Retarder Road Speed Exceeded Status:",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RoadSpeedIsBelowThreshold": [0],
+                                               "RdSpdIsAbvThrshldAndRtrdrIsAllw": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Actl.Mx.Avlbl.Rtarder.Percent.Torque" : {
+                                       "generic_name": "Actl.Mx.Avlbl.Rtarder.Percent.Torque",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "This is the maximum amount of torque that the retarder can immediately deliver.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drvrs.Dmand.Retarder.Percent.Torque" : {
+                                       "generic_name": "Drvrs.Dmand.Retarder.Percent.Torque",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The Drivers demand retarder percent torque is the maximum torque selected by the driver when one or more modes",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Rqing.Brake.Light" : {
+                                       "generic_name": "Retarder.Rqing.Brake.Light",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that whether the retarder is requesting that the brake lights are illuminated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RtrdrIsNtRqngThtBrkLghtsArIllmn": [0],
+                                               "RtrdrIsRqngThtBrkLghtsArIllmntd": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Load.Increase" : {
+                                       "generic_name": "Eng.Coolant.Load.Increase",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of an event, external to the engine, that may increase the nominal temperature of the engine coolant liquid.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoCoolantLoadIncrease": [0],
+                                               "CoolantLoadIncreasePossible": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Intended.Retarder.Percent.Torque" : {
+                                       "generic_name": "Intended.Retarder.Percent.Torque",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Braking torque of retarder that the retarder is currently trying to achieve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Actual.Retarder.Percent.Torque" : {
+                                       "generic_name": "Actual.Retarder.Percent.Torque",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Actual braking torque of the retarder as a percent of retarder configuration reference torque SPN 556.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Retarder.Enable.Shift.Assist.Switch" : {
+                                       "generic_name": "Retarder.Enable.Shift.Assist.Switch",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates whether the operator wishes the retarder to be enabled for transmission shift assist.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RetarderShiftAssistDisabled": [0],
+                                               "RetarderShiftAssistEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Retarder.Enable.Brake.Assist.Switch" : {
+                                       "generic_name": "Retarder.Enable.Brake.Assist.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates whether the operator wishes the retarder to be enabled for vehicle braking assist.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RetarderBrakeAssistDisabled": [0],
+                                               "RetarderBrakeAssistEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Retarder.Torque.Mode" : {
+                                       "generic_name": "Retarder.Torque.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State signal which indicates which retarder torque mode is currently generating, limiting, or controlling the torque.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65183": {
+                       "comment": "Exhaust Port Temperature 5",
+                       "length": 8,
+                       "name": "EPT5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Port20.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port20.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port19.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port19.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port18.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port18.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port17.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port17.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65184": {
+                       "comment": "Exhaust Port Temperature 4",
+                       "length": 8,
+                       "name": "EPT4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Port16.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port16.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port15.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port15.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port14.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port14.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port13.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port13.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65185": {
+                       "comment": "Exhaust Port Temperature 3",
+                       "length": 8,
+                       "name": "EPT3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Port12.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port12.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port11.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port11.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port10.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port10.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port9.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port9.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65186": {
+                       "comment": "Exhaust Port Temperature 2",
+                       "length": 8,
+                       "name": "EPT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Port8.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port8.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port7.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port7.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port6.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port6.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port5.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port5.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65187": {
+                       "comment": "Exhaust Port Temperature 1",
+                       "length": 8,
+                       "name": "EPT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Port4.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port4.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port3.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port3.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port2.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port2.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Port1.Temp" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Port1.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature at the cylinder exhaust port of the engine.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64996": {
+                       "comment": "Equipment Performance Data",
+                       "length": 8,
+                       "name": "EPD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Payload.Percentage" : {
+                                       "generic_name": "Payload.Percentage",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The current payload of the equipment, reported as a percentage of the equipment's rated payload limit.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64978": {
+                       "comment": "ECU Performance",
+                       "length": 8,
+                       "name": "EP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Data.Memory.Usage" : {
+                                       "generic_name": "Data.Memory.Usage",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The used storage capacity of the data buffer memory internal to an ECU, such as a data logger.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Keep.Alive.Battery.Consumption" : {
+                                       "generic_name": "Keep.Alive.Battery.Consumption",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The capacity consumed from the direct battery connection since the key was last turned off.",
+                                       "unit": "mAhr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64995": {
+                       "comment": "Equipment Operation and Control",
+                       "length": 8,
+                       "name": "EOAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Travel.Velocity.Ctrl.Pos" : {
+                                       "generic_name": "Travel.Velocity.Ctrl.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The position of the travel velocity control component reported as a percentage of the control's full displacement in each",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65193": {
+                       "comment": "Exhaust Oxygen 1",
+                       "length": 8,
+                       "name": "EO1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprton" : {
+                                       "generic_name": "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprton",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the engine is using the Exhaust Gas Oxygen sensor to control the air/fuel ratio.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EngNtUsngExhaustGasOxygenSensor": [0],
+                                               "EngUsngExhstGsOxygnSnsrFrAClsdL": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Exhst.Gs.Oxygn.Snsr.Flng.Crrction" : {
+                                       "generic_name": "Eng.Exhst.Gs.Oxygn.Snsr.Flng.Crrction",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The amount of fueling change required by the system based on the measured Exhaust Oxygen value compared to the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Actual.Exhaust.Oxygen" : {
+                                       "generic_name": "Eng.Actual.Exhaust.Oxygen",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The actual amount of oxygen in the exhaust represented as a percentage by volume with respect to the total volume of",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Exhaust.Oxygen" : {
+                                       "generic_name": "Eng.Desired.Exhaust.Oxygen",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The desired amount of oxygen in the exhaust represented as a percentage by volume with respect to the total volume of",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Rated.Exhaust.Oxygen" : {
+                                       "generic_name": "Eng.Desired.Rated.Exhaust.Oxygen",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "The desired amount of oxygen in the exhaust at rated conditions represented as a percentage by volume with respect to",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64987": {
+                       "comment": "Extended Joystick Message 3",
+                       "length": 8,
+                       "name": "EJM3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck3.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck3.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck3.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck3.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick3.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck3.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck3.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck3.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick3.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck3.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck3.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck3.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck3.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick3.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck3.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck3.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck3.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck3.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck3.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64985": {
+                       "comment": "Extended Joystick Message 2",
+                       "length": 8,
+                       "name": "EJM2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck2.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck2.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck2.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck2.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick2.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck2.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck2.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck2.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick2.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck2.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck2.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck2.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck2.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick2.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck2.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck2.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck2.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck2.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck2.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64983": {
+                       "comment": "Extended Joystick Message 1",
+                       "length": 8,
+                       "name": "EJM1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Jystck1.Grip.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck1.Grip.XAxis.Detent.Pos.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Grip.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck1.Grip.YAxis.Detent.Pos.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Theta.Axis.Detent.Pos.Status" : {
+                                       "generic_name": "Jystck1.Theta.Axis.Detent.Pos.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Theta.Axis.Pos" : {
+                                       "generic_name": "Joystick1.Theta.Axis.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck1.Tht.Axs.Clckws.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck1.Tht.Axs.Clckws.Pstv.Ps.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Thta.Axis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck1.Thta.Axis.Neutral.Pos.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Grip.YAxis.Pos" : {
+                                       "generic_name": "Joystick1.Grip.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck1.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck1.Grp.YAxs.Lvr.Frwrd.Pstv.Ps.Stts",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck1.Grp.YAxs.Lvr.Bck.Ngtv.Ps.Sttus",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Grp.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck1.Grp.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Grip.XAxis.Pos" : {
+                                       "generic_name": "Joystick1.Grip.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick grip in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck1.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts" : {
+                                       "generic_name": "Jystck1.Grp.XAxs.Lvr.Rght.Pstv.Ps.Stts",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus" : {
+                                       "generic_name": "Jystck1.Grp.XAxs.Lvr.Lft.Ngtv.Ps.Sttus",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is on the negative travel side (back, left, counterclockwise, down) relative",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Grp.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Jystck1.Grp.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick grip position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts" : {
+                                       "generic_name": "Jystck1.Tht.Axs.Cntr.Clckws.Ngtv.Ps.Stts",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65170": {
+                       "comment": "Engine Information",
+                       "length": 8,
+                       "name": "EI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Rack.Pos" : {
+                                       "generic_name": "Eng.Fuel.Rack.Pos",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Measured position of the engine fuel rack.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gas.Mass.Flow.Rate1" : {
+                                       "generic_name": "Eng.Gas.Mass.Flow.Rate1",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Gas mass flow rate delivered to an engine through its first fuel control system.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Instantaneous.Est.Brake.Power" : {
+                                       "generic_name": "Instantaneous.Est.Brake.Power",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Estimate of the power developed by the engine.",
+                                       "unit": "kW",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Press" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure of the exhaust gasses as measured at the turbine intake of the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Prefilter.Oil.Press" : {
+                                       "generic_name": "Eng.Prefilter.Oil.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of the engine oil before the oil reaches the oil filter.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65201": {
+                       "comment": "ECU History",
+                       "length": 8,
+                       "name": "EH",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.ECURun.Time" : {
+                                       "generic_name": "Total.ECURun.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "Total time accumulated over the life of the ECU, from ignition switch ON to ignition switch OFF.",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.ECUDistance" : {
+                                       "generic_name": "Total.ECUDistance",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance accumulated over the life of the ECU.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61450": {
+                       "comment": "Engine Gas Flow Rate",
+                       "length": 8,
+                       "name": "EGF1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intake.Air.Mass.Flow.Rate" : {
+                                       "generic_name": "Eng.Intake.Air.Mass.Flow.Rate",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Mass flow rate of fresh air entering the engine air intake, before any EGR mixer, if used.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrclton2.Mass.Flow.Rate" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrclton2.Mass.Flow.Rate",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Flow rate of gas through the second EGR system.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrclton1.Mass.Flow.Rate" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrclton1.Mass.Flow.Rate",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Flow rate of gas through the EGR system.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65130": {
+                       "comment": "Engine Fuel/lube systems",
+                       "length": 7,
+                       "name": "EFS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fuel.Pump.Primer.Status" : {
+                                       "generic_name": "Fuel.Pump.Primer.Status",
+                                       "bit_position": 50,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter used to transmit the actual status of the fuel priming system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Supply.Pump.Intake.Press" : {
+                                       "generic_name": "Eng.Fuel.Supply.Pump.Intake.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Absolute pressure of fuel at the fuel supply pump intake.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Filter.Diff.Press" : {
+                                       "generic_name": "Eng.Fuel.Filter.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Differential pressure measured across the fuel filter located between the fuel tank and the supply pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Level.Remote.Reservoir" : {
+                                       "generic_name": "Eng.Oil.Level.Remote.Reservoir",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of current volume of engine oil in a remote reservoir to the maximum required volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Waste.Oil.Reservoir.Level" : {
+                                       "generic_name": "Eng.Waste.Oil.Reservoir.Level",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Level of crankcase blowby emulsion collected by a container.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RepresentsCompletelyFull": [4]
+                                       }
+                               },
+                               "Eng.Ventilation.Status" : {
+                                       "generic_name": "Eng.Ventilation.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Engine ventilation control states.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SufficientlyVented": [0],
+                                               "VentilationNeeded": [1],
+                                               "VentilationDelay": [2],
+                                               "CurrentlyVenting": [3],
+                                               "ReservedForSAEAssignment": [5],
+                                               "NtAblTDtrmnIfSufficientlyVented": [6],
+                                               "NotAvailableNotInstalle": [7]
+                                       }
+                               },
+                               "Eng.Oil.Priming.State" : {
+                                       "generic_name": "Eng.Oil.Priming.State",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Determination of whether or not the engine is (or has recently been) sufficiently lubricated for starting purposes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSufficientlyLubricated": [0],
+                                               "SufficientlyLubricated": [1],
+                                               "UnblTDtrmnIfSffcentlyLubricated": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Eng.Oil.Priming.Pump.Switch" : {
+                                       "generic_name": "Eng.Oil.Priming.Pump.Switch",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch input for activating the engine oil priming pump.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Eng.Oil.Pre.Heated.State" : {
+                                       "generic_name": "Eng.Oil.Pre.Heated.State",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the engine oil pre-heated sufficiently for starting purposes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSufficientlyPreheated": [0],
+                                               "SufficientlyPreheated": [1],
+                                               "UnblTDtrmnIfEngOlIsPrhtdSffcntl": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "Eng.Oil.Filter.Outlet.Press" : {
+                                       "generic_name": "Eng.Oil.Filter.Outlet.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Oil pressure (gauge) measured just downstream of oil filter.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Preheated.State" : {
+                                       "generic_name": "Eng.Coolant.Preheated.State",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the engine coolant is pre-heated sufficiently for starting purposes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSufficientlyPreheated": [0],
+                                               "SufficientlyPreheated": [1],
+                                               "UnblTDtrmnEngClntPrhtdSffcently": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               }
+                       }
+               },
+               "64961": {
+                       "comment": "Engine Fluid Level/Pressure 3",
+                       "length": 8,
+                       "name": "EFL_P3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Vlv.Actton.System.Oil.Press" : {
+                                       "generic_name": "Eng.Exhst.Vlv.Actton.System.Oil.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The absolute pressure of the oil in the hydraulic system that powers the engine exhaust valve actuation system",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltion1.Outlet.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltion1.Outlet.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "EGR outlet pressure is measured immediately after the EGR valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltion1.Intake.Press" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltion1.Intake.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "EGR intake gage pressure is measured after the EGR cooler and before the EGR valve.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intk.Vlv.Acttion.System.Oil.Press" : {
+                                       "generic_name": "Eng.Intk.Vlv.Acttion.System.Oil.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The gage pressure of the oil in the hydraulic system that powers the engine intake valve actuation system",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65243": {
+                       "comment": "Engine Fluid Level/Pressure 2",
+                       "length": 8,
+                       "name": "EFL_P2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Injector.Metering.Rail2.Press" : {
+                                       "generic_name": "Eng.Injector.Metering.Rail2.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The gage pressure of fuel in the metering rail #2 as delivered from the supply pump to the injector metering intake.",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Injector.Timing.Rail1.Press" : {
+                                       "generic_name": "Eng.Injector.Timing.Rail1.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The gage pressure of fuel in the timing rail delivered from the supply pump to the injector timing intake.",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Injector.Metering.Rail1.Press" : {
+                                       "generic_name": "Eng.Injector.Metering.Rail1.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The gage pressure of fuel in the primary, or first, metering rail as delivered from the supply pump to the injector metering",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Injection.Ctrl.Press" : {
+                                       "generic_name": "Eng.Injection.Ctrl.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 251,
+                                       "comment": "The gage pressure of the engine oil in the hydraulic accumulator that powers an intensifier used for fuel injection.",
+                                       "unit": "MPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65263": {
+                       "comment": "Engine Fluid Level/Pressure 1",
+                       "length": 8,
+                       "name": "EFL_P1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Coolant.Level" : {
+                                       "generic_name": "Eng.Coolant.Level",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of liquid found in engine cooling system to total cooling system volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Press" : {
+                                       "generic_name": "Eng.Coolant.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Gage pressure of liquid found in engine cooling system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Crankcase.Press" : {
+                                       "generic_name": "Eng.Crankcase.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Gage pressure inside engine crankcase.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Press" : {
+                                       "generic_name": "Eng.Oil.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of oil in engine lubrication system as provided by oil pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Level" : {
+                                       "generic_name": "Eng.Oil.Level",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of current volume of engine sump oil to maximum required volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Ex.Crankcase.Blowby.Press" : {
+                                       "generic_name": "Eng.Ex.Crankcase.Blowby.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12.5,
+                                       "comment": "Differential crankcase blow-by pressure as measured through a tube with a venturi.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Delivery.Press" : {
+                                       "generic_name": "Eng.Fuel.Delivery.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of fuel in system as delivered from supply pump to the injection pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65171": {
+                       "comment": "Engine Electrical System/Module Information",
+                       "length": 8,
+                       "name": "EES",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Turning.Gear.Engaged" : {
+                                       "generic_name": "Turning.Gear.Engaged",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates that the turning gear is engaged.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TurningGearIsNotEngaged": [0],
+                                               "TurningGearIsEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Safety.Wire.Status" : {
+                                       "generic_name": "Safety.Wire.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status signal which indicates that the safety wire has been activated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SafetyWireHasNotBeenActivated": [0],
+                                               "SafetyWireHasBeenActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Electrical.Load" : {
+                                       "generic_name": "Electrical.Load",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Electrical power delivered by the engine to the electrical system connected to the generator.",
+                                       "unit": "kW",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64981": {
+                       "comment": "Electronic Engine Controller 5",
+                       "length": 8,
+                       "name": "EEC5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Vrable.Geometry.Turbo1.Ctrl.Mode" : {
+                                       "generic_name": "Eng.Vrable.Geometry.Turbo1.Ctrl.Mode",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates if the variable geometry turbocharger control status is either open loop or closed loop.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "openLoop": [0],
+                                               "closedLoop": [1],
+                                               "SAEReserved": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Eng.Trb1.Clclted.Turbine.Intake.Temp" : {
+                                       "generic_name": "Eng.Trb1.Clclted.Turbine.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Calculated value of turbine intake temperature based on engine operating conditions, such as intake manifold",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrculation1.Valve.Ctrl" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrculation1.Valve.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Desired percentage of maximum Exhaust Gas Recirculation (EGR) valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Vrbl.Gometry.Turbo1.Actuator.Pos" : {
+                                       "generic_name": "Eng.Vrbl.Gometry.Turbo1.Actuator.Pos",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Sensor that measures the position of the variable geometry turbocharger actuator.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Vrbl.Gmtry.Trb.Ar.Ctrl.Shtff.Valve" : {
+                                       "generic_name": "Eng.Vrbl.Gmtry.Trb.Ar.Ctrl.Shtff.Valve",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Isolates vehicle brake air from the Variable Geometry Turbocharger (VGT) system when engine is not running.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VGTAirCtrlShutoffValveIsOff": [0],
+                                               "VGTAirCtrlShutoffValveIsOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Trb1.Clclted.Turbine.Outlet.Temp" : {
+                                       "generic_name": "Eng.Trb1.Clclted.Turbine.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Calculated value of turbocharger compressor outlet air temperature.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65214": {
+                       "comment": "Electronic Engine Controller 4",
+                       "length": 8,
+                       "name": "EEC4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Rotation.Direction" : {
+                                       "generic_name": "Eng.Rotation.Direction",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Direction of engine rotation, as reported by the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CounterClockWise": [0],
+                                               "ClockWise": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Crnk.Attmpt.Cnt.On.Prsnt.Strt.Attempt" : {
+                                       "generic_name": "Crnk.Attmpt.Cnt.On.Prsnt.Strt.Attempt",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Reports the number of cranking cycles undergone during the present start attempt.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Intake.Manifold.Press.Ctrl.Mode" : {
+                                       "generic_name": "Eng.Intake.Manifold.Press.Ctrl.Mode",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the Boost Pressure Closed Loop Control status either open loop or closed loop.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OpenLoop": [0],
+                                               "ClosedLoop": [1],
+                                               "SAEReserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Rated.Speed" : {
+                                       "generic_name": "Eng.Rated.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The maximum governed rotational velocity of the engine crankshaft under full load conditions.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rated.Power" : {
+                                       "generic_name": "Eng.Rated.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Net brake power that the engine will deliver continuously, specified for a given application at a rated speed.",
+                                       "unit": "kW",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65247": {
+                       "comment": "Electronic Engine Controller 3",
+                       "length": 8,
+                       "name": "EEC3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Engs.Dsrd.Oprtng.Spd.Asymmtry.Adjstmnt" : {
+                                       "generic_name": "Engs.Dsrd.Oprtng.Spd.Asymmtry.Adjstmnt",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "This byte is utilized in transmission gear selection routines and indicates the engine's preference of lower versus higher",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment1.Exhaust.Gas.Mass.Flow" : {
+                                       "generic_name": "Aftrtratment1.Exhaust.Gas.Mass.Flow",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12851,
+                                       "comment": "Measured/calculated exhaust gas mass upstream of the aftertreatment system in exhaust bank 1 and 2.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Intake.Dew.Point" : {
+                                       "generic_name": "Aftertreatment2.Intake.Dew.Point",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the temperature on the intake side of the aftertreatment system has exceeded the dew point, as estimated",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotExceededDewPoint": [0],
+                                               "ExceededDewPoint": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Exhaust.Dew.Point" : {
+                                       "generic_name": "Aftertreatment2.Exhaust.Dew.Point",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the temperature on the exhaust side of the aftertreatment has exceeded the dew point, as estimated by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotExceededDewPoint": [0],
+                                               "ExceededDewPoint": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Intake.Dew.Point" : {
+                                       "generic_name": "Aftertreatment1.Intake.Dew.Point",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the temperature on the intake side of the aftertreatment system has exceeded the dew point, as estimated",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotExceededDewPoint": [0],
+                                               "ExceededDewPoint": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Exhaust.Dew.Point" : {
+                                       "generic_name": "Aftertreatment1.Exhaust.Dew.Point",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the temperature on the exhaust side of the aftertreatment has exceeded the dew point, as estimated by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotExceededDewPoint": [0],
+                                               "ExceededDewPoint": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Est.Eng.Prstic.Losses.Percent.Torque" : {
+                                       "generic_name": "Est.Eng.Prstic.Losses.Percent.Torque",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The calculated torque that indicates the estimated amount of torque loss due to engine parasitics, such as cooling fan, air",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LossesAreIncludedInSPN514": [251]
+                                       }
+                               },
+                               "Engs.Desired.Operating.Speed" : {
+                                       "generic_name": "Engs.Desired.Operating.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "An indication by the engine of the optimal operating speed of the engine for the current existing conditions.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Nominal.Friction.Percent.Torque" : {
+                                       "generic_name": "Nominal.Friction.Percent.Torque",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The calculated torque that indicates the amount of torque required by the basic engine itself added by the loss torque of",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61443": {
+                       "comment": "Electronic Engine Controller 2",
+                       "length": 8,
+                       "name": "EEC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "S.CRThermal.Management.Active" : {
+                                       "generic_name": "S.CRThermal.Management.Active",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the exhaust temperatures have been elevated for regeneration of the SCR aftertreatment system or in",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SCRThermalManagementIsNotActive": [0],
+                                               "SCRThermalManagementIsActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               },
+                               "Mmntry.Eng.Max.Power.Enable.Feedback" : {
+                                       "generic_name": "Mmntry.Eng.Max.Power.Enable.Feedback",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Momentarily requesting Engine Maximum Power Enable - feature support feedback",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "disabled": [0],
+                                               "supported": [1],
+                                               "reserved": [2],
+                                               "dontCare": [3]
+                                       }
+                               },
+                               "Est.Pumping.Percent.Torque" : {
+                                       "generic_name": "Est.Pumping.Percent.Torque",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The calculated torque that indicates the estimated amount of torque loss due to the engine air handling system.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "D.PFThermal.Management.Active" : {
+                                       "generic_name": "D.PFThermal.Management.Active",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the exhaust temperatures have been elevated for regeneration of the diesel particulate filter aftertreatment",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DPFThermalManagementIsNotActive": [0],
+                                               "DPFThermalManagementIsActive": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               },
+                               "Actl.Mx.Available.Eng.Percent.Torque" : {
+                                       "generic_name": "Actl.Mx.Available.Eng.Percent.Torque",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This is the maximum amount of torque that the engine can immediately deliver as a percentage of the reference engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Accel.Pedal.Pos2" : {
+                                       "generic_name": "Accel.Pedal.Pos2",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The ratio of actual position of the second analog engine speed/torque request input device (such as an accelerator pedal",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vhcl.Acceleration.Rate.Limit.Status" : {
+                                       "generic_name": "Vhcl.Acceleration.Rate.Limit.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status (active or not active) of the system used to limit maximum forward vehicle acceleration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LimitNotActive": [0],
+                                               "LimitActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Percent.Load.At.Current.Speed" : {
+                                       "generic_name": "Eng.Percent.Load.At.Current.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The ratio of actual engine percent torque (indicated) to maximum indicated torque available at the current engine speed,",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Accel.Pedal2.Low.Idle.Switch" : {
+                                       "generic_name": "Accel.Pedal2.Low.Idle.Switch",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the state of the accelerator pedal 2 low idle switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AcclPedal2NotInLowIdleCondition": [0],
+                                               "AccelPedal2InLowIdleCondition": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Road.Speed.Limit.Status" : {
+                                       "generic_name": "Road.Speed.Limit.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status (active or not active) of the system used to limit maximum vehicle velocity.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Active": [0],
+                                               "NotActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Accel.Pedal.Kickdown.Switch" : {
+                                       "generic_name": "Accel.Pedal.Kickdown.Switch",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates whether the accelerator pedal kickdown switch is opened or closed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "KickdownPassive": [0],
+                                               "KickdownActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Accel.Pedal1.Low.Idle.Switch" : {
+                                       "generic_name": "Accel.Pedal1.Low.Idle.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the state of the accelerator pedal 1 low idle switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AcclPedal1NotInLowIdleCondition": [0],
+                                               "AccelPedal1InLowIdleCondition": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Remote.Accel.Pedal.Pos" : {
+                                       "generic_name": "Remote.Accel.Pedal.Pos",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The ratio of actual position of the remote analog engine speed/torque request input device (such as an accelerator pedal",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Accel.Pedal.Pos1" : {
+                                       "generic_name": "Accel.Pedal.Pos1",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The ratio of actual position of the analog engine speed/torque request input device (such as an accelerator pedal or",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61444": {
+                       "comment": "Electronic Engine Controller 1",
+                       "length": 8,
+                       "name": "EEC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Src.Addrss.Of.Ctrllng.Dvc.Fr.Eng.Cntrl" : {
+                                       "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Eng.Cntrl",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The source address of the SAE J1939 device currently controlling the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Actl.Eng.Prcnt.Trque.High.Resolution" : {
+                                       "generic_name": "Actl.Eng.Prcnt.Trque.High.Resolution",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0.875,
+                                       "comment": "This parameter displays an additional torque in percent of the reference engine torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "0000": [0],
+                                               "0125": [1],
+                                               "0875": [7],
+                                               "1111NotAvailable": [8]
+                                       }
+                               },
+                               "Eng.Demand.Percent.Torque" : {
+                                       "generic_name": "Eng.Demand.Percent.Torque",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The requested torque output of the engine by all dynamic internal inputs, including smoke control, noise control and low",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Starter.Mode" : {
+                                       "generic_name": "Eng.Starter.Mode",
+                                       "bit_position": 47,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "There are several phases in a starting action and different reasons why a start cannot take place.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "startNotRqed": [0],
+                                               "starterActiveGearNotEngaged": [1],
+                                               "starterActiveGearEngaged": [2],
+                                               "strtFnshdStrtrNtActvAftrHvngBnA": [3],
+                                               "strtrInhbtdDToEngAlreadyRunning": [4],
+                                               "strtrInhbtdDTEngNtReadyForStart": [5],
+                                               "strtrInhbtdDTDrvlnEnggdOthrTrns": [6],
+                                               "strtrInhbtdDToActiveImmobilizer": [7],
+                                               "strtrInhbtdDueToStarterOvertemp": [8],
+                                               "1011Reserved": [9],
+                                               "starterInhibitedReasonUnknown": [12],
+                                               "error": [14],
+                                               "notAvailable": [15]
+                                       }
+                               },
+                               "Eng.Speed" : {
+                                       "generic_name": "Eng.Speed",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided by the number of cylinders.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Actual.Eng.Percent.Torque" : {
+                                       "generic_name": "Actual.Eng.Percent.Torque",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The calculated output torque of the engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drivers.Demand.Eng.Percent.Torque" : {
+                                       "generic_name": "Drivers.Demand.Eng.Percent.Torque",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The requested torque output of the engine by the driver.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Mode" : {
+                                       "generic_name": "Eng.Torque.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State signal which indicates which engine torque mode is currently generating, limiting, or controlling the torque.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Low idle governor/no request (de": [0],
+                                               "Accelerator pedal/operator selec": [1],
+                                               "Cruise control": [2],
+                                               "PTO governor": [3],
+                                               "Road speed governor": [4],
+                                               "ASR control": [5],
+                                               "Transmission control": [6],
+                                               "ABS control": [7],
+                                               "Torque limiting": [8],
+                                               "High speed governor": [9],
+                                               "Braking system": [10],
+                                               "Remote accelerator": [11],
+                                               "Not available": [15]
+                                       }
+                               }
+                       }
+               },
+               "64965": {
+                       "comment": "ECU Identification Information",
+                       "length": 8,
+                       "name": "ECUID",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "E.CUType" : {
+                                       "generic_name": "E.CUType",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CULocation" : {
+                                       "generic_name": "E.CULocation",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUSerial.Number" : {
+                                       "generic_name": "E.CUSerial.Number",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUPart.Number" : {
+                                       "generic_name": "E.CUPart.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65108": {
+                       "comment": "Engine Continuous Torque & Speed Limit",
+                       "length": 8,
+                       "name": "ECT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Lw.Lmt.Thrshld.Fr.Mx.Trq.Frm.Engine" : {
+                                       "generic_name": "Eng.Lw.Lmt.Thrshld.Fr.Mx.Trq.Frm.Engine",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Minimum allowable value for maximum continuous torque from engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Lw.Lmt.Thrshld.Fr.Mx.RPMFrm.Engine" : {
+                                       "generic_name": "Eng.Lw.Lmt.Thrshld.Fr.Mx.RPMFrm.Engine",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Minimum allowable value for maximum continuous RPM from engine",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Trq.Frm.Engn" : {
+                                       "generic_name": "Eng.Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Trq.Frm.Engn",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Maximum allowable value for minimum continuous torque from engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Engn.RPM" : {
+                                       "generic_name": "Eng.Hgh.Lmt.Thrshld.Fr.Mn.Cntns.Engn.RPM",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Maximum allowable value for minimum continuous RPM from engine",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Min.Continuous.Torque" : {
+                                       "generic_name": "Eng.Min.Continuous.Torque",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Applied limit for minimum continuous engine torque",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Max.Continuous.Torque" : {
+                                       "generic_name": "Eng.Max.Continuous.Torque",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Applied limit for maximum continuous engine torque.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Min.Continuous.RPM" : {
+                                       "generic_name": "Eng.Min.Continuous.RPM",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Applied limit for minimum continuous engine RPM",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Max.Continuous.RPM" : {
+                                       "generic_name": "Eng.Max.Continuous.RPM",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Applied limit for maximum continuous engine RPM",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65251": {
+                       "comment": "Engine Configuration 1",
+                       "length": 39,
+                       "name": "EC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Support.TSC1.Ctrl.Purpose.Group4" : {
+                                       "generic_name": "Support.TSC1.Ctrl.Purpose.Group4",
+                                       "bit_position": 303,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter indicates which TSC1 control purposes are supported in group 4 of 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "P25ReservedForAssignmentBySAE": [1]
+                                       }
+                               },
+                               "Support.TSC1.Ctrl.Purpose.Group3" : {
+                                       "generic_name": "Support.TSC1.Ctrl.Purpose.Group3",
+                                       "bit_position": 295,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter indicates which TSC1 control purposes are supported in group 3 of 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "P17ReservedForAssignmentBySAE": [1]
+                                       }
+                               },
+                               "Support.TSC1.Ctrl.Purpose.Group2" : {
+                                       "generic_name": "Support.TSC1.Ctrl.Purpose.Group2",
+                                       "bit_position": 287,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter indicates which TSC1 control purposes are supported in group 2 of 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "P9ReservedForAssignmentBySAE": [1]
+                                       }
+                               },
+                               "Support.TSC1.Ctrl.Purpose.Group1" : {
+                                       "generic_name": "Support.TSC1.Ctrl.Purpose.Group1",
+                                       "bit_position": 279,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter indicates which TSC1 control purposes are supported in group 1 of 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "P1AccelPedal_OperatorSelection": [1]
+                                       }
+                               },
+                               "Support.Variable.Rate.TSC1.Message" : {
+                                       "generic_name": "Support.Variable.Rate.TSC1.Message",
+                                       "bit_position": 271,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter indicates which TSC1 transmission rates are supported by the engine ECU in addition to the required",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "MsTransRate": [1]
+                                       }
+                               },
+                               "Eng.Default.Torque.Limit" : {
+                                       "generic_name": "Eng.Default.Torque.Limit",
+                                       "bit_position": 255,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Companion parameter to Transmission Torque Limit (SPN 1845).",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Moment.Of.Inertia" : {
+                                       "generic_name": "Eng.Moment.Of.Inertia",
+                                       "bit_position": 239,
+                                       "bit_size": 16,
+                                       "factor": 0.004,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 257.02,
+                                       "comment": "Moment of inertia for the engine, including items driven full-time by the engine such as fuel, oil and cooling pumps.",
+                                       "unit": "kg*m*m",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Ex.Rng.Rqd.Spd.Ctrl.Rng.Upper.Limit" : {
+                                       "generic_name": "Eng.Ex.Rng.Rqd.Spd.Ctrl.Rng.Upper.Limit",
+                                       "bit_position": 223,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The maximum engine speed regardless of load that the engine will allow when operating in a speed control/limit mode,",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqd.Torque.Ctrl.Range.Upper.Limit" : {
+                                       "generic_name": "Eng.Rqd.Torque.Ctrl.Range.Upper.Limit",
+                                       "bit_position": 215,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The maximum engine torque that the engine will allow when operating in a torque control/limit mode.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqd.Torque.Ctrl.Range.Lower.Limit" : {
+                                       "generic_name": "Eng.Rqd.Torque.Ctrl.Range.Lower.Limit",
+                                       "bit_position": 207,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The minimum engine torque that the engine will allow when operating in a torque control/limit mode.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqed.Speed.Ctrl.Range.Upper.Limit" : {
+                                       "generic_name": "Eng.Rqed.Speed.Ctrl.Range.Upper.Limit",
+                                       "bit_position": 199,
+                                       "bit_size": 8,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2500,
+                                       "comment": "The maximum engine speed regardless of load that the engine will allow when operating in a speed control/limit mode,",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Rqed.Speed.Ctrl.Range.Lower.Limit" : {
+                                       "generic_name": "Eng.Rqed.Speed.Ctrl.Range.Lower.Limit",
+                                       "bit_position": 191,
+                                       "bit_size": 8,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2500,
+                                       "comment": "The minimum engine speed that the engine will allow when operating in a speed control/limit mode.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Mx.Momentary.Override.Time.Limit" : {
+                                       "generic_name": "Eng.Mx.Momentary.Override.Time.Limit",
+                                       "bit_position": 183,
+                                       "bit_size": 8,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 25,
+                                       "comment": "The maximum time limit allowed to override the engine's high idle speed.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Mx.Mmntary.Override.Speed.Point7" : {
+                                       "generic_name": "Eng.Mx.Mmntary.Override.Speed.Point7",
+                                       "bit_position": 167,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "The maximum engine speed above high idle allowed by the engine control during a momentary high idle override.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Reference.Torque" : {
+                                       "generic_name": "Eng.Reference.Torque",
+                                       "bit_position": 151,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "This parameter is the 100% reference value for all defined indicated engine torque parameters.",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.High.Idle.Point6" : {
+                                       "generic_name": "Eng.Speed.At.High.Idle.Point6",
+                                       "bit_position": 119,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Engine speed of high idle (point 6) of the engine torque map (see PGN 65251 and supporting document).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gain.Of.Endspeed.Governor" : {
+                                       "generic_name": "Eng.Gain.Of.Endspeed.Governor",
+                                       "bit_position": 135,
+                                       "bit_size": 16,
+                                       "factor": 0.00078125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 50.2,
+                                       "comment": "The endspeed governor is defined as a linear line with the following equations (Capital letters mean physical values, small",
+                                       "unit": "%/rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Torque.At.Point5" : {
+                                       "generic_name": "Eng.Percent.Torque.At.Point5",
+                                       "bit_position": 111,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available engine torque which can be provided by the engine at point 3, 4, and 5 of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.Point5" : {
+                                       "generic_name": "Eng.Speed.At.Point5",
+                                       "bit_position": 95,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Engine speed of point 3, 4, and 5 of the engine torque map (see PGN 65251 and supporting document).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Torque.At.Point4" : {
+                                       "generic_name": "Eng.Percent.Torque.At.Point4",
+                                       "bit_position": 87,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available engine torque which can be provided by the engine at point 3, 4, and 5 of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.Point4" : {
+                                       "generic_name": "Eng.Speed.At.Point4",
+                                       "bit_position": 71,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Engine speed of point 3, 4, and 5 of the engine torque map (see PGN 65251 and supporting document).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Torque.At.Point3" : {
+                                       "generic_name": "Eng.Percent.Torque.At.Point3",
+                                       "bit_position": 63,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available engine torque which can be provided by the engine at point 3, 4, and 5 of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.Point3" : {
+                                       "generic_name": "Eng.Speed.At.Point3",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Engine speed of point 3, 4, and 5 of the engine torque map (see PGN 65251 and supporting document).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Torque.At.Point2" : {
+                                       "generic_name": "Eng.Percent.Torque.At.Point2",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available engine torque which can be provided by the engine at point 2 of the engine",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.Point2" : {
+                                       "generic_name": "Eng.Speed.At.Point2",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Engine speed of point 2 of the engine torque map (see PGN 65251 and supporting document).",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Torque.At.Idle.Point1" : {
+                                       "generic_name": "Eng.Percent.Torque.At.Idle.Point1",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The torque limit that indicates the available engine torque which can be provided by the engine at idle speed.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.At.Idle.Point1" : {
+                                       "generic_name": "Eng.Speed.At.Idle.Point1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Stationary low idle speed of engine which includes influences due to engine temperature (after power up) and other",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64964": {
+                       "comment": "Electronic Brake Controller 5",
+                       "length": 8,
+                       "name": "EBC5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Brake.Temp.Warning" : {
+                                       "generic_name": "Brake.Temp.Warning",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates if the temperature in the service brakes exceeds a certain value.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "Active": [1],
+                                               "Reserved": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Prkng.Brke.Actuator.Fully.Activated" : {
+                                       "generic_name": "Prkng.Brke.Actuator.Fully.Activated",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates when the parking brake actuator is fully activated.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PrkngBrkActtorNotFullyActivated": [0],
+                                               "PrkngBrkeActuatorFullyActivated": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "X.BRAcceleration.Limit" : {
+                                       "generic_name": "X.BRAcceleration.Limit",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.1,
+                                       "offset": -12.5,
+                                       "min_value": -12.5,
+                                       "max_value": 12.5,
+                                       "comment": "The brake system may temporarily or generally limit the maximum brake performance available for external systems.",
+                                       "unit": "m/s/s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "X.BRActive.Ctrl.Mode" : {
+                                       "generic_name": "X.BRActive.Ctrl.Mode",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates which XBR Control Mode is executed by the brake system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoBrakeDemandBeingExecuted": [0],
+                                               "DrvrsBrkDmndBngExctdNExtlBrkDmn": [1],
+                                               "AddtnMdOfXBRAcclrtnCtrlBngExctd": [2],
+                                               "MxMdOfXBRAcclrtnCtrlBngExecuted": [3],
+                                               "1110ReservedForSAEAssignment": [4],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "X.BRSystem.State" : {
+                                       "generic_name": "X.BRSystem.State",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates which external brake control is allowed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AnyExtlBrkeDemandWillBeAccepted": [0],
+                                               "OnlyExtlBrkDmndOfHghstXBRPrrtyW": [1],
+                                               "NoExtlBrakeDemandWillBeAccepted": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Foundation.Brake.Use" : {
+                                       "generic_name": "Foundation.Brake.Use",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates if the brake system presently uses the foundation brakes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FoundationBrakesNotInUse": [0],
+                                               "FoundationBrakesInUse": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Hill.Holder.Mode" : {
+                                       "generic_name": "Hill.Holder.Mode",
+                                       "bit_position": 4,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal which indicates the current mode of the hill holder function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ActvBtWllChngTInctvInAShortTime": [2],
+                                               "101Reserved": [3],
+                                               "HillHolderNotFunctional": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Halt.Brake.Mode" : {
+                                       "generic_name": "Halt.Brake.Mode",
+                                       "bit_position": 1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Signal which indicates the current mode of the halt brake function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ActiveButNotFunctioningProperly": [2],
+                                               "101NotDefined": [3],
+                                               "Reserved": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "65196": {
+                       "comment": "Wheel Brake Lining Remaining Information",
+                       "length": 8,
+                       "name": "EBC4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Brk.Lnng.Rmnng.Rear.Axle3.Right.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmnng.Rear.Axle3.Right.Wheel",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the right wheel on the rear axle #3.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmning.Rear.Axle3.Left.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmning.Rear.Axle3.Left.Wheel",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the left wheel on the rear axle #3.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmnng.Rear.Axle2.Right.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmnng.Rear.Axle2.Right.Wheel",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the right wheel on the rear axle #2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmning.Rear.Axle2.Left.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmning.Rear.Axle2.Left.Wheel",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the left wheel on the rear axle #2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmnng.Rear.Axle1.Right.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmnng.Rear.Axle1.Right.Wheel",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the right wheel on the rear axle #1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmning.Rear.Axle1.Left.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmning.Rear.Axle1.Left.Wheel",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the left wheel on the rear axle #1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmnng.Front.Axle.Right.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmnng.Front.Axle.Right.Wheel",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the right wheel on the front axle.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.Lnng.Rmning.Front.Axle.Left.Wheel" : {
+                                       "generic_name": "Brk.Lnng.Rmning.Front.Axle.Left.Wheel",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percentage of brake lining which can still be measured for the left wheel on the front axle.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65197": {
+                       "comment": "Wheel Application Pressure High Range Information",
+                       "length": 8,
+                       "name": "EBC3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl3.Rght.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl3.Rght.Wheel",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the right wheel on the rear axle #3.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl3.Left.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl3.Left.Wheel",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the left wheel on the rear axle #3.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl2.Rght.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl2.Rght.Wheel",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the right wheel on the rear axle #2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl2.Left.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl2.Left.Wheel",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the left wheel on the rear axle #2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl1.Rght.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl1.Rght.Wheel",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the right wheel on the rear axle #1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Rr.Axl1.Left.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Rr.Axl1.Left.Wheel",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the left wheel on the rear axle #1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Frnt.Axl.Rght.Whel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Frnt.Axl.Rght.Whel",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the right wheel on the front axle.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brk.App.Prss.Hgh.Rng.Frnt.Axl.Lft.Wheel" : {
+                                       "generic_name": "Brk.App.Prss.Hgh.Rng.Frnt.Axl.Lft.Wheel",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "The brake application pressure for the left wheel on the front axle.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65215": {
+                       "comment": "Wheel Speed Information",
+                       "length": 8,
+                       "name": "EBC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rlative.Speed.Rear.Axle2.Right.Wheel" : {
+                                       "generic_name": "Rlative.Speed.Rear.Axle2.Right.Wheel",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the rear axle #2, right wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Speed.Rear.Axle2.Left.Wheel" : {
+                                       "generic_name": "Relative.Speed.Rear.Axle2.Left.Wheel",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the rear axle #2, left wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rlative.Speed.Rear.Axle1.Right.Wheel" : {
+                                       "generic_name": "Rlative.Speed.Rear.Axle1.Right.Wheel",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the rear axle #1, right wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Speed.Rear.Axle1.Left.Wheel" : {
+                                       "generic_name": "Relative.Speed.Rear.Axle1.Left.Wheel",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the rear axle #1, left wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rlative.Speed.Front.Axle.Right.Wheel" : {
+                                       "generic_name": "Rlative.Speed.Front.Axle.Right.Wheel",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the front axle, right wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Speed.Front.Axle.Left.Wheel" : {
+                                       "generic_name": "Relative.Speed.Front.Axle.Left.Wheel",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.0625,
+                                       "offset": -7.8125,
+                                       "min_value": -7.8125,
+                                       "max_value": 7.8125,
+                                       "comment": "The speed of the front axle, left wheel relative to the front axle speed, SPN 904.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Front.Axle.Speed" : {
+                                       "generic_name": "Front.Axle.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "The average speed of the two front wheels.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61441": {
+                       "comment": "Electronic Brake Controller 1",
+                       "length": 8,
+                       "name": "EBC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Aux.Shutdown.Switch" : {
+                                       "generic_name": "Eng.Aux.Shutdown.Switch",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which requests that all engine fueling stop.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Src.Addrss.Of.Ctrllng.Dvc.Fr.Brk.Cntrl" : {
+                                       "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Brk.Cntrl",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The source address of the SAE J1939 device currently controlling the brake system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brake.Pedal.Pos" : {
+                                       "generic_name": "Brake.Pedal.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of brake pedal position to maximum pedal position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trctr.Mntd.Triler.ABSWarning.Signal" : {
+                                       "generic_name": "Trctr.Mntd.Triler.ABSWarning.Signal",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the tractor-mounted trailer ABS optical warning signal.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Trailer.ABSStatus" : {
+                                       "generic_name": "Trailer.ABSStatus",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that ABS in the trailer is actively controlling the brakes.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InformationAvailableButNotActive": [0],
+                                               "TrailerABSActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailableOrNotSupported": [3]
+                                       }
+                               },
+                               "Halt.Brake.Switch" : {
+                                       "generic_name": "Halt.Brake.Switch",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the halt brake switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HaltBrakeSwitchPassive": [0],
+                                               "HaltBrakeSwitchActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.TC_.ASRInformation.Signal" : {
+                                       "generic_name": "A.TC_.ASRInformation.Signal",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the ATC/ASR driver information signal, for example a dash lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "A.BS_.EBSAmber.Warning.Signal" : {
+                                       "generic_name": "A.BS_.EBSAmber.Warning.Signal",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the ABS/EBS amber/yellow optical warning signal",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "E.BSRed.Warning.Signal" : {
+                                       "generic_name": "E.BSRed.Warning.Signal",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the EBS red optical warning signal",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "A.BSFully.Operational" : {
+                                       "generic_name": "A.BSFully.Operational",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether an ABS system is fully operational or whether its functionality is reduced by a defect or by",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotFullyOperational": [0],
+                                               "FullyOperational": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Retarder.Selection" : {
+                                       "generic_name": "Eng.Retarder.Selection",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of the operator controlled selector, expressed as a percentage and determined by the ratio of the current",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Remote.Accel.Enable.Switch" : {
+                                       "generic_name": "Remote.Accel.Enable.Switch",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the remote accelerator has been enabled and controls the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Derate.Switch" : {
+                                       "generic_name": "Eng.Derate.Switch",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal used to activate the torque limiting feature of the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Accel.Interlock.Switch" : {
+                                       "generic_name": "Accel.Interlock.Switch",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal used to disable the accelerator and remote accelerator inputs, causing the engine to return to idle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Traction.Ctrl.Override.Switch" : {
+                                       "generic_name": "Traction.Ctrl.Override.Switch",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the traction control override switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailableNotInstalled": [3]
+                                       }
+                               },
+                               "A.SRHill.Holder.Switch" : {
+                                       "generic_name": "A.SRHill.Holder.Switch",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the ASR [hill holder] switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ASRHillHolderSwitchPassive": [0],
+                                               "ASRHillHolderSwitchActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.SROffroad.Switch" : {
+                                       "generic_name": "A.SROffroad.Switch",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the ASR off-road switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ASROffroadSwitchPassive": [0],
+                                               "ASROffroadSwitchActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.BSOffroad.Switch" : {
+                                       "generic_name": "A.BSOffroad.Switch",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the ABS off-road switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ABSOffroadSwitchPassive": [0],
+                                               "ABSOffroadSwitchActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "E.BSBrake.Switch" : {
+                                       "generic_name": "E.BSBrake.Switch",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the brake pedal is being pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BrakePedalIsNotBeingPressed": [0],
+                                               "BrakePedalIsBeingPressed": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Anti.Lock.Braking.Active" : {
+                                       "generic_name": "Anti.Lock.Braking.Active",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that the ABS is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ABSPassiveButInstalled": [0],
+                                               "ABSActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.SRBrake.Ctrl.Active" : {
+                                       "generic_name": "A.SRBrake.Ctrl.Active",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that ASR brake control is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ASRBrakeCtrlPassiveButInstalled": [0],
+                                               "ASRBrakeCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "A.SREng.Ctrl.Active" : {
+                                       "generic_name": "A.SREng.Ctrl.Active",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal which indicates that ASR engine control has been commanded to be active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ASREngCtrlPassiveButInstalled": [0],
+                                               "ASREngCtrlActive": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "61446": {
+                       "comment": "Electronic Axle Controller 1",
+                       "length": 8,
+                       "name": "EAC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rear.Axle.Group.Engagement.Status" : {
+                                       "generic_name": "Rear.Axle.Group.Engagement.Status",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Rear axle group engagement status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "rearAxleGroupDisengaged": [0],
+                                               "rearAxleGroupEngaged": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Front.Axle.Group.Engagement.Status" : {
+                                       "generic_name": "Front.Axle.Group.Engagement.Status",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Front axle group engagement status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "frontAxleGroupDisengaged": [0],
+                                               "frontAxleGroupEngaged": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Central.Rear" : {
+                                       "generic_name": "Diff.Lock.State.Central.Rear",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the central rear differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Central.Front" : {
+                                       "generic_name": "Diff.Lock.State.Central.Front",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the central front differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Central" : {
+                                       "generic_name": "Diff.Lock.State.Central",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the central differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Rear.Axle2" : {
+                                       "generic_name": "Diff.Lock.State.Rear.Axle2",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the rear axle 2 differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Rear.Axle1" : {
+                                       "generic_name": "Diff.Lock.State.Rear.Axle1",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the rear axle 1 differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Front.Axle2" : {
+                                       "generic_name": "Diff.Lock.State.Front.Axle2",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the front axle 2 differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Diff.Lock.State.Front.Axle1" : {
+                                       "generic_name": "Diff.Lock.State.Front.Axle1",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State used which indicates the condition of the front axle 1 differential lock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DiffLockDisengaged": [0],
+                                               "DiffLockEngaged": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Location" : {
+                                       "generic_name": "Location",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "To identify to which of several similar devices (such as tires or fuel tanks) the information applies.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65172": {
+                       "comment": "Engine Auxiliary Coolant",
+                       "length": 8,
+                       "name": "EAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sea.Water.Pump.Outlet.Press" : {
+                                       "generic_name": "Sea.Water.Pump.Outlet.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Gauge pressure of liquid found at outlet of sea water pump in sea water cooling system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Aux.Coolant.Temp" : {
+                                       "generic_name": "Eng.Aux.Coolant.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of coolant found in the intercooler which is located after the turbocharger.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Aux.Coolant.Press" : {
+                                       "generic_name": "Eng.Aux.Coolant.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of coolant found in the intercooler which is located after the turbocharger.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65131": {
+                       "comment": "Driver's Identification",
+                       "length": 8,
+                       "name": "DI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Driver2" : {
+                                       "generic_name": "Driver2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Driver1" : {
+                                       "generic_name": "Driver1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65276": {
+                       "comment": "Dash Display",
+                       "length": 8,
+                       "name": "DD",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fuel.Level2" : {
+                                       "generic_name": "Fuel.Level2",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of fuel to the total volume of fuel in the second or right-side storage container.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fuel.Level1" : {
+                                       "generic_name": "Fuel.Level1",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of fuel to the total volume of fuel storage container.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cargo.Ambient.Temp" : {
+                                       "generic_name": "Cargo.Ambient.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of air inside vehicle container used to accommodate cargo.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Oil.Filter.Diff.Press" : {
+                                       "generic_name": "Eng.Oil.Filter.Diff.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Change in engine oil pressure, measured across the filter, due to the filter and any accumulation of solid or semisolid",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Fuel.Filter.Diff.Press" : {
+                                       "generic_name": "Eng.Fuel.Filter.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Differential pressure measured across the fuel filter located between the fuel tank and the supply pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Washer.Fluid.Level" : {
+                                       "generic_name": "Washer.Fluid.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of liquid to total container volume of fluid reservoir in windshield wash system.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64966": {
+                       "comment": "Cold Start Aids",
+                       "length": 8,
+                       "name": "CSA",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Start.Enable.Device2.Config" : {
+                                       "generic_name": "Eng.Start.Enable.Device2.Config",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The start enable device installed for start enable device 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoStartEnableDevice2Installed": [0],
+                                               "GlowPlugsInstalled": [1],
+                                               "FuelledStartInstalled": [2],
+                                               "EtherInjectionInstalled": [3],
+                                               "ElctricIntakeAirHeaterInstalled": [4],
+                                               "1110Reserved": [5],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Start.Enable.Device1.Config" : {
+                                       "generic_name": "Eng.Start.Enable.Device1.Config",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The start enable device installed for start enable device 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoStartEnableDevice1Installed": [0],
+                                               "GlowPlugsInstalled": [1],
+                                               "FuelledStartInstalled": [2],
+                                               "EtherInjectionInstalled": [3],
+                                               "ElctricIntakeAirHeaterInstalled": [4],
+                                               "1110Reserved": [5],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Eng.Start.Enable.Device2" : {
+                                       "generic_name": "Eng.Start.Enable.Device2",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Devices that assist an engine in starting, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "StartEnableOFF": [0],
+                                               "StartEnableON": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Start.Enable.Device1" : {
+                                       "generic_name": "Eng.Start.Enable.Device1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Devices that assist an Engine in starting, e.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "StartEnableOFF": [0],
+                                               "StartEnableON": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65136": {
+                       "comment": "Combination Vehicle Weight",
+                       "length": 8,
+                       "name": "CVW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Powered.Vehicle.Weight" : {
+                                       "generic_name": "Powered.Vehicle.Weight",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642550,
+                                       "comment": "Total mass imposed by the tires of the powered vehicle on the road surface.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gross.Combination.Vehicle.Weight" : {
+                                       "generic_name": "Gross.Combination.Vehicle.Weight",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642550,
+                                       "comment": "The total weight of the truck and all attached trailers.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "53246": {
+                       "comment": "Continuous Torque & Speed Limit Request",
+                       "length": 8,
+                       "name": "CTL",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Mx.Cntnuous.Retarder.Torque.Limit.Rq" : {
+                                       "generic_name": "Mx.Cntnuous.Retarder.Torque.Limit.Rq",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Requested maximum continuous retarder torque (operating range: -125 to 0%)",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Mn.Cntnuous.Retarder.Torque.Limit.Rq" : {
+                                       "generic_name": "Mn.Cntnuous.Retarder.Torque.Limit.Rq",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Requested minimum continuous retarder torque (operating range: -125 to 0%)",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Mx.Cntinuous.Retarder.Speed.Limit.Rq" : {
+                                       "generic_name": "Mx.Cntinuous.Retarder.Speed.Limit.Rq",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Requested maximum continuous retarder speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Mn.Cntinuous.Retarder.Speed.Limit.Rq" : {
+                                       "generic_name": "Mn.Cntinuous.Retarder.Speed.Limit.Rq",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Requested minimum continuous retarder speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit.Rq.Max.Continuous" : {
+                                       "generic_name": "Eng.Torque.Limit.Rq.Max.Continuous",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Requested maximum continuous engine torque (operating range: 0 to 125%)",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Limit.Rq.Min.Continuous" : {
+                                       "generic_name": "Eng.Torque.Limit.Rq.Min.Continuous",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Requested minimum continuous engine torque (operating range: 0 to 125%)",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.Limit.Rq.Max.Continuous" : {
+                                       "generic_name": "Eng.Speed.Limit.Rq.Max.Continuous",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Requested maximum continuous engine speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed.Limit.Rq.Min.Continuous" : {
+                                       "generic_name": "Eng.Speed.Limit.Rq.Min.Continuous",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 32,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8000,
+                                       "comment": "Requested minimum continuous engine speed",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65152": {
+                       "comment": "Combustion Time 6",
+                       "length": 8,
+                       "name": "CT6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Average.Combustion.Time" : {
+                                       "generic_name": "Eng.Average.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The average combustion time of all cylinders of an engine.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Desired.Combustion.Time" : {
+                                       "generic_name": "Eng.Desired.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The desired combustion time based upon engine load and speed lookup maps.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65151": {
+                       "comment": "Combustion Time 5",
+                       "length": 8,
+                       "name": "CT5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl20.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl20.Combustion.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl19.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl19.Combustion.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl18.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl18.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl17.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl17.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65150": {
+                       "comment": "Combustion Time 4",
+                       "length": 8,
+                       "name": "CT4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl16.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl16.Combustion.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl15.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl15.Combustion.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl14.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl14.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl13.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl13.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65149": {
+                       "comment": "Combustion Time 3",
+                       "length": 8,
+                       "name": "CT3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl12.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl12.Combustion.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl11.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl11.Combustion.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl10.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl10.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl9.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl9.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65148": {
+                       "comment": "Combustion Time 2",
+                       "length": 8,
+                       "name": "CT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl8.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl8.Combustion.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl7.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl7.Combustion.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl6.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl6.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl5.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl5.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65147": {
+                       "comment": "Combustion Time 1",
+                       "length": 8,
+                       "name": "CT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Cyl4.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl4.Combustion.Time",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl3.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl3.Combustion.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl2.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl2.Combustion.Time",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Cyl1.Combustion.Time" : {
+                                       "generic_name": "Eng.Cyl1.Combustion.Time",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "The amount of time from when the ignition of the fuel is initiated to when the fuel is completely ignited (i.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64969": {
+                       "comment": "Electronic Control Module Information",
+                       "length": 8,
+                       "name": "CMI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Count.Of.Config.Changes.Made" : {
+                                       "generic_name": "Total.Count.Of.Config.Changes.Made",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total number of times changes have been made to any of the configurable parameters.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64980": {
+                       "comment": "Cab Message 3",
+                       "length": 8,
+                       "name": "CM3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Oil.Level.Rq" : {
+                                       "generic_name": "Trans.Oil.Level.Rq",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Conveys operator or vehicle system desire for a transmission oil level reading to be taken.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoTransOilLevelReadingDesired": [0],
+                                               "TransOilLevelReadingDesired": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Fifth.Wheel.Release.Ctrl" : {
+                                       "generic_name": "Fifth.Wheel.Release.Ctrl",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Operator input used to release the fifth wheel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CouplerLocked": [0],
+                                               "CplrUnlckdTrlrCnBUnhtchdHitched": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Ffth.Whl.Rlase.Ctrl.Security.Lockout" : {
+                                       "generic_name": "Ffth.Whl.Rlase.Ctrl.Security.Lockout",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Operator's fifth wheel release control interlock.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FifthWheelReleaseDisabled": [0],
+                                               "FifthWheelReleaseEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Transfer.Case.Selector.Switch" : {
+                                       "generic_name": "Transfer.Case.Selector.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Operator switch to select the condition of the transfer case.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "2WheelHigh": [0],
+                                               "4WheelHigh": [1],
+                                               "Neutral": [2],
+                                               "2WheelLow": [3],
+                                               "4WheelLow": [4],
+                                               "ReservedForSAEAssignment": [5],
+                                               "ErrorIndicator": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "57598": {
+                       "comment": "Cab Message 1",
+                       "length": 8,
+                       "name": "CM1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclt.Fltr.Rgnrton.Force.Switch" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Rgnrton.Force.Switch",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of a switch available to the operator that forces diesel particulate filter regeneration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr.Rgnrtn.Inhbit.Switch" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr.Rgnrtn.Inhbit.Switch",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the state of a switch available to the operator that inhibits diesel particulate filter regeneration.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Selected.Max.Vehicle.Speed.Limit" : {
+                                       "generic_name": "Selected.Max.Vehicle.Speed.Limit",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "User selected maximum vehicle speed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "sUsdTIndctThtAMxVhclSpdIsNtSlct": [0]
+                                       }
+                               },
+                               "Rq.Cab.Zone.Heating" : {
+                                       "generic_name": "Rq.Cab.Zone.Heating",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Request to activate cab zone heating.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoNotCabEngZone": [0],
+                                               "HeatCabZone": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Rq.Eng.Zone.Heating" : {
+                                       "generic_name": "Rq.Eng.Zone.Heating",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Request to activate engine zone heating.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoNotHeatEngZone": [0],
+                                               "HeatEngZone": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Aux.Heater.Mode.Rq" : {
+                                       "generic_name": "Aux.Heater.Mode.Rq",
+                                       "bit_position": 47,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Request to activate the auxiliary heater.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DeactivateAuxHeater": [0],
+                                               "OffDTADRPrErpnRgltnsFrTrnsprtOf": [1],
+                                               "EconomyMode": [2],
+                                               "NormalMode": [3],
+                                               "1101NotDefined": [4],
+                                               "Reserved": [14],
+                                               "DontCare_TakeNoAction": [15]
+                                       }
+                               },
+                               "Eng.Automatic.Start.Enable.Switch" : {
+                                       "generic_name": "Eng.Automatic.Start.Enable.Switch",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which enables the idle management system to be enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SwitchInOffState": [0],
+                                               "SwitchInOnState": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Atmatic.Gear.Shifting.Enable.Switch" : {
+                                       "generic_name": "Atmatic.Gear.Shifting.Enable.Switch",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that automated gear shifting is enabled via a switch",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AutomatedGearShiftingIsDisabled": [0],
+                                               "AutomatedGearShiftingIsEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vhcl.Lmtng.Spd.Gvernor.Enable.Switch" : {
+                                       "generic_name": "Vhcl.Lmtng.Spd.Gvernor.Enable.Switch",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which enables the Vehicle Limiting Speed Governor (VLSG) such that the vehicle speed may be either",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SwitchDisabled": [0],
+                                               "SwitchedEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vhcl.Lmtng.Spd.Gvrnr.Incrment.Switch" : {
+                                       "generic_name": "Vhcl.Lmtng.Spd.Gvrnr.Incrment.Switch",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which increases the Vehicle Limiting Speed Governor (VLSG).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SwitchInOffState": [0],
+                                               "SwitchInOnStateIncrease": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vhcl.Lmtng.Spd.Gvrnr.Dcrement.Switch" : {
+                                       "generic_name": "Vhcl.Lmtng.Spd.Gvrnr.Dcrement.Switch",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which decreases the Vehicle Limiting Speed Governor (VLSG).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SwitchInOffState": [0],
+                                               "SwitchInOnStateDecrease": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Seat.Belt.Switch" : {
+                                       "generic_name": "Seat.Belt.Switch",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Seat Belt is buckled",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NOTBuckled": [0],
+                                               "OKSeatBeltIsBuckled": [1],
+                                               "ErrrSwtchStteCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Operator.Seat.Direction.Switch" : {
+                                       "generic_name": "Operator.Seat.Direction.Switch",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Senses whether the operator seat is in the forward driving position",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OperatorSeatNotFacingForward": [0],
+                                               "OperatorSeatIsFacingForward": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Battery.Main.Switch.Hold.Rq" : {
+                                       "generic_name": "Battery.Main.Switch.Hold.Rq",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Request to hold the battery main switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ReleaseBatteryMainSwitch": [0],
+                                               "HoldBatteryMainSwitch": [1],
+                                               "undefined": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Aux.Heater.Coolant.Pump.Rq" : {
+                                       "generic_name": "Aux.Heater.Coolant.Pump.Rq",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether to activate the auxiliary heater coolant water pump.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DeactivateWaterPump": [0],
+                                               "ActivateWaterPump": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Cab.Interior.Temp.Cmd" : {
+                                       "generic_name": "Cab.Interior.Temp.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Parameter used to command a certain cab interior temperature.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Rqed.Percent.Fan.Speed" : {
+                                       "generic_name": "Rqed.Percent.Fan.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Fan speed as a ratio of the actual fan drive (current speed) to the fully engaged fan drive (maximum fan speed).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "53502": {
+                       "comment": "Cab Illumination Message",
+                       "length": 8,
+                       "name": "CL",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Illumination.Brightness.Percent" : {
+                                       "generic_name": "Illumination.Brightness.Percent",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Commanded backlight brightness level for all cab displays",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65259": {
+                       "comment": "Component Identification",
+                       "length": 8,
+                       "name": "CI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Unit.Number" : {
+                                       "generic_name": "Unit.Number",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Serial.Number" : {
+                                       "generic_name": "Serial.Number",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Model" : {
+                                       "generic_name": "Model",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Make" : {
+                                       "generic_name": "Make",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65265": {
+                       "comment": "Cruise Control/Vehicle Speed",
+                       "length": 8,
+                       "name": "CCVS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Park.Brake.Release.Inhibit.Rq" : {
+                                       "generic_name": "Park.Brake.Release.Inhibit.Rq",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Park Brake Release Inhibit Request signals the desire that an applied park brake remain applied and limit the ability of the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ParkBrakeReleaseInhibitNotRqed": [0],
+                                               "ParkBrakeReleaseInhibitRqed": [1],
+                                               "SAEReserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "P.TOGovernor.State" : {
+                                       "generic_name": "P.TOGovernor.State",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "This parameter is used to indicate the current state or mode of operation by the power takeoff (PTO) governor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_Disabled": [0],
+                                               "Hold": [1],
+                                               "RemoteHold": [2],
+                                               "Standby": [3],
+                                               "RemoteStandby": [4],
+                                               "Set": [5],
+                                               "Decelerate_Coast": [6],
+                                               "Resume": [7],
+                                               "Accelerate": [8],
+                                               "AccelOverride": [9],
+                                               "PreprogrammedSetSpeed1": [10],
+                                               "PreprogrammedSetSpeed2": [11],
+                                               "PreprogrammedSetSpeed3": [12],
+                                               "PreprogrammedSetSpeed4": [13],
+                                               "PreprogrammedSetSpeed5": [14],
+                                               "PreprogrammedSetSpeed6": [15],
+                                               "PreprogrammedSetSpeed7": [16],
+                                               "PreprogrammedSetSpeed8": [17],
+                                               "PTOSetSpeedMemory1": [18],
+                                               "PTOSetSpeedMemory2": [19],
+                                               "11110NotDefined": [20],
+                                               "NotAvailable": [31]
+                                       }
+                               },
+                               "Eng.Shutdown.Override.Switch" : {
+                                       "generic_name": "Eng.Shutdown.Override.Switch",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the engine shutdown override switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Test.Mode.Switch" : {
+                                       "generic_name": "Eng.Test.Mode.Switch",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the engine test mode switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Decrement.Switch" : {
+                                       "generic_name": "Eng.Idle.Decrement.Switch",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the idle decrement switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Increment.Switch" : {
+                                       "generic_name": "Eng.Idle.Increment.Switch",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the idle increment switch.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.States" : {
+                                       "generic_name": "Cruise.Ctrl.States",
+                                       "bit_position": 52,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter is used to indicate the current state, or mode, of operation by the cruise control device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off_Disabled": [0],
+                                               "Hold": [1],
+                                               "Accelerate": [2],
+                                               "Decelerate": [3],
+                                               "Resume": [4],
+                                               "Set": [5],
+                                               "AccelOverride": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Cruise.Ctrl.Set.Speed" : {
+                                       "generic_name": "Cruise.Ctrl.Set.Speed",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Value of set (chosen) velocity of velocity control system.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cruise.Ctrl.Accelerate.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Accelerate.Switch",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the cruise control activator which indicates that the activator is in the position [accelerate.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CrsCtrlActvtrNotInPosAccelerate": [0],
+                                               "CrsCtrlActivatorInPosAccelerate": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.Resume.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Resume.Switch",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the cruise control activator which indicates that the activator is in the position [resume.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CrseCtrlActivatorNotInPosResume": [0],
+                                               "CruiseCtrlActivatorInPosResume": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.Coast.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Coast.Switch",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the cruise control activator which indicates that the activator is in the position [coast (decelerate).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CriseCtrlActivatorNotInPosCoast": [0],
+                                               "CruiseCtrlActivatorInPosCoast": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.Set.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Set.Switch",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal of the cruise control activator which indicates that the activator is in the position [set.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CruiseCtrlActivatorNotInPosSet": [0],
+                                               "CruiseCtrlActivatorInPosSet": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Clutch.Switch" : {
+                                       "generic_name": "Clutch.Switch",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the clutch pedal is being pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ClutchPedalReleased": [0],
+                                               "ClutchPedalDepressed": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Brake.Switch" : {
+                                       "generic_name": "Brake.Switch",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that the driver operated brake foot pedal is being pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BrakePedalReleased": [0],
+                                               "BrakePedalDepressed": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.Enable.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Enable.Switch",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates that it is possible to manage the cruise control function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CruiseCtrlDisabled": [0],
+                                               "CruiseCtrlEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cruise.Ctrl.Active" : {
+                                       "generic_name": "Cruise.Ctrl.Active",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Cruise control is switched on.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CruiseCtrlSwitchedOff": [0],
+                                               "CruiseCtrlSwitchedOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Wheel.Based.Vehicle.Speed" : {
+                                       "generic_name": "Wheel.Based.Vehicle.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "Speed of the vehicle as calculated from wheel or tailshaft speed.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cruise.Ctrl.Pause.Switch" : {
+                                       "generic_name": "Cruise.Ctrl.Pause.Switch",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the position of the Cruise Control Pause Switch used on Remote Cruise Control applications.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "ErrorIndicator": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Parking.Brake.Switch" : {
+                                       "generic_name": "Parking.Brake.Switch",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates when the parking brake is set.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ParkingBrakeNotSet": [0],
+                                               "ParkingBrakeSet": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Two.Speed.Axle.Switch" : {
+                                       "generic_name": "Two.Speed.Axle.Switch",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch signal which indicates the current axle range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LowSpeedRange": [0],
+                                               "HighSpeedRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65261": {
+                       "comment": "Cruise Control/Vehicle Speed Setup",
+                       "length": 8,
+                       "name": "CCSS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cruise.Ctrl.Low.Set.Limit.Speed" : {
+                                       "generic_name": "Cruise.Ctrl.Low.Set.Limit.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Minimum vehicle velocity at which cruise can be set or minimum vehicle velocity for cruise operation before it will exit",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cruise.Ctrl.High.Set.Limit.Speed" : {
+                                       "generic_name": "Cruise.Ctrl.High.Set.Limit.Speed",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Maximum vehicle velocity at which cruise can be set.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Max.Vehicle.Speed.Limit" : {
+                                       "generic_name": "Max.Vehicle.Speed.Limit",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Maximum vehicle velocity allowed.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65127": {
+                       "comment": "Climate Control Configuration",
+                       "length": 8,
+                       "name": "CCC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.Heater.Max.Output.Power" : {
+                                       "generic_name": "Aux.Heater.Max.Output.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The maximum output power of the auxiliary heater.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65212": {
+                       "comment": "Compression/Service Brake Information",
+                       "length": 16,
+                       "name": "CBI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trip.Service.Brake.Apps" : {
+                                       "generic_name": "Trip.Service.Brake.Apps",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4227858431,
+                                       "comment": "Total number of times the service brakes have been activated since the last trip reset.",
+                                       "unit": "appl",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Service.Brake.Distance" : {
+                                       "generic_name": "Trip.Service.Brake.Distance",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance over which the service brakes have been active since the last trip reset.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trip.Compression.Brake.Distance" : {
+                                       "generic_name": "Trip.Compression.Brake.Distance",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance over which the compression brakes have been active since the last trip reset.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Compression.Brake.Distance" : {
+                                       "generic_name": "Total.Compression.Brake.Distance",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 526385151.9,
+                                       "comment": "Total distance over which the compression brakes have been active for the life of the engine.",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64993": {
+                       "comment": "Cab A/C Climate System Information",
+                       "length": 8,
+                       "name": "CACI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Cb.A_.CRfrgrnt.Cmprssor.Outlet.Press" : {
+                                       "generic_name": "Cb.A_.CRfrgrnt.Cmprssor.Outlet.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "This is the gage pressure at the compressor outlet in the cab air conditioning system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65104": {
+                       "comment": "Battery Temperature",
+                       "length": 8,
+                       "name": "BT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Battery2.Temp" : {
+                                       "generic_name": "Battery2.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the battery 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery1.Temp" : {
+                                       "generic_name": "Battery1.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the battery 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64775": {
+                       "comment": "Direct Lamp Control Command 1",
+                       "length": 8,
+                       "name": "DLCC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Fuel.Filter.Restricted.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Fuel.Filter.Restricted.Lamp.Cmd",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Vehicle Fuel Filter Restricted Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Flash": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Air.Filter.Restriction.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Air.Filter.Restriction.Lamp.Cmd",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Air Filter Restriction Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Idle.Management.Active.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Idle.Management.Active.Lamp.Cmd",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Idle Management Active Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Level.Low.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Coolant.Level.Low.Lamp.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Coolant Level Low Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Temp.High.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Coolant.Temp.High.Lamp.Cmd",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Coolant Temperature High Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Oil.Press.Low.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Oil.Press.Low.Lamp.Cmd",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Oil Pressure Low Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Cmprssn.Brk.Enbl.Swtch.Indctr.Lmp.Cmd" : {
+                                       "generic_name": "Cmprssn.Brk.Enbl.Swtch.Indctr.Lmp.Cmd",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling Compression Brake Enable Switch Indicator Lamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOFF": [0],
+                                               "LampON": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Brake.Active.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Brake.Active.Lamp.Cmd",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Brake Active Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "O.BDMalfunction.Indicator.Lamp.Cmd" : {
+                                       "generic_name": "O.BDMalfunction.Indicator.Lamp.Cmd",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the OBD Malfunction Indicator Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Red.Stop.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Red.Stop.Lamp.Cmd",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Red Stop Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Amber.Warning.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Amber.Warning.Lamp.Cmd",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Amber Warning Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Protect.Lamp.Cmd" : {
+                                       "generic_name": "Eng.Protect.Lamp.Cmd",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal directly controlling the Engine Protect Lamp",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64792": {
+                       "comment": "Collision Sensor Information",
+                       "length": 8,
+                       "name": "CSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Rear.Collision.Sensor4.Type" : {
+                                       "generic_name": "Rear.Collision.Sensor4.Type",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Rear Collision Sensor 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Rear.Collision.Sensor3.Type" : {
+                                       "generic_name": "Rear.Collision.Sensor3.Type",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Rear Collision Sensor 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Rear.Collision.Sensor2.Type" : {
+                                       "generic_name": "Rear.Collision.Sensor2.Type",
+                                       "bit_position": 51,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Rear Collision Sensor 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Rear.Collision.Sensor1.Type" : {
+                                       "generic_name": "Rear.Collision.Sensor1.Type",
+                                       "bit_position": 47,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Rear Collision Sensor 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sde.Collision.Sensor.Rear.Right.Type" : {
+                                       "generic_name": "Sde.Collision.Sensor.Rear.Right.Type",
+                                       "bit_position": 43,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Rear - Right.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sd.Cllsion.Sensor.Mid.Rear.Right.Type" : {
+                                       "generic_name": "Sd.Cllsion.Sensor.Mid.Rear.Right.Type",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Mid Rear - Right.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sd.Cllson.Sensor.Mid.Front.Right.Type" : {
+                                       "generic_name": "Sd.Cllson.Sensor.Mid.Front.Right.Type",
+                                       "bit_position": 35,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Mid Front - Right.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sd.Collision.Sensor.Front.Right.Type" : {
+                                       "generic_name": "Sd.Collision.Sensor.Front.Right.Type",
+                                       "bit_position": 31,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Front - Right.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Side.Collision.Sensor.Rear.Left.Type" : {
+                                       "generic_name": "Side.Collision.Sensor.Rear.Left.Type",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Rear - Left.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sd.Cllision.Sensor.Mid.Rear.Left.Type" : {
+                                       "generic_name": "Sd.Cllision.Sensor.Mid.Rear.Left.Type",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Mid Rear - Left.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sd.Cllsion.Sensor.Mid.Front.Left.Type" : {
+                                       "generic_name": "Sd.Cllsion.Sensor.Mid.Front.Left.Type",
+                                       "bit_position": 19,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Mid Front - Left.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Sde.Collision.Sensor.Front.Left.Type" : {
+                                       "generic_name": "Sde.Collision.Sensor.Front.Left.Type",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Side Collision Sensor Front - Left.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Frontal.Collision.Sensor4.Type" : {
+                                       "generic_name": "Frontal.Collision.Sensor4.Type",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Frontal Collision Sensor 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Frontal.Collision.Sensor3.Type" : {
+                                       "generic_name": "Frontal.Collision.Sensor3.Type",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Frontal Collision Sensor 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Frontal.Collision.Sensor2.Type" : {
+                                       "generic_name": "Frontal.Collision.Sensor2.Type",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Frontal Collision Sensor 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Frontal.Collision.Sensor1.Type" : {
+                                       "generic_name": "Frontal.Collision.Sensor1.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Type of Frontal Collision Sensor 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AccelerationSensor": [0],
+                                               "PressSensor": [1],
+                                               "RollrateSensor": [2],
+                                               "SonicSensor": [3],
+                                               "FiberopticSensor": [4],
+                                               "RadarSensor": [5],
+                                               "LidarSensor": [6],
+                                               "OpticalSensor": [7],
+                                               "1101Reserved": [8],
+                                               "ErrrTypOfSnsrCannotBeDetermined": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "61483": {
+                       "comment": "Crash Notification",
+                       "length": 8,
+                       "name": "CN",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Crash.Checksum" : {
+                                       "generic_name": "Crash.Checksum",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The Crash Checksum is used to verify the signal path from the airbag ECU to other devices in case of a crash.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Crash.Counter" : {
+                                       "generic_name": "Crash.Counter",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The Crash Counter prevents other ECUs from reacting to a faulty transmission of the Crash Notification PGN and serves",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Crash.Type" : {
+                                       "generic_name": "Crash.Type",
+                                       "bit_position": -1,
+                                       "bit_size": 5,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "Type of crash event.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FrontalCrash": [1],
+                                               "RearCrash": [2],
+                                               "SideCrash": [8],
+                                               "Rollover": [16]
+                                       }
+                               }
+                       }
+               },
+               "64757": {
+                       "comment": "Charge Air Cooler 2 Precooler",
+                       "length": 8,
+                       "name": "CAC2P",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Chrg.Ar.Clr2.Prcooler.Efficiency" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr2.Prcooler.Efficiency",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Engine charge air cooler 2 (CAC2) precooler efficiency is an indication of the precooler's ability to reduce the temperature",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Ar.Clr2.Prcooler.Outlet.Temp" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr2.Prcooler.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the charge air cooler 2 precooler outlet.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Ar.Clr2.Prcooler.Intake.Temp" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr2.Prcooler.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the charge air cooler 2 precooler Intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64756": {
+                       "comment": "Charge Air Cooler 2",
+                       "length": 8,
+                       "name": "CAC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Charge.Air.Cooler2.Efficiency" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler2.Efficiency",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Engine charge air cooler 2 (CAC2) is an indication of the CAC's ability to reduce the temperature of the combustion air",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Air.Cooler2.Ambient.Air.Temp" : {
+                                       "generic_name": "Eng.Chrg.Air.Cooler2.Ambient.Air.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air surrounding charge air cooler 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler2.Outlet.Temp" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler2.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of combustion air after it exits from the Charge Air Cooler 2 but before any mixing of recirculated exhaust",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler2.Intake.Temp" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler2.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the charge air cooler 2 Intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64759": {
+                       "comment": "Charge Air Cooler 1 Precooler",
+                       "length": 8,
+                       "name": "CAC1P",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Chrg.Ar.Clr1.Prcooler.Efficiency" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr1.Prcooler.Efficiency",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Engine charge air cooler 1 (CAC1) precooler efficiency is an indication of the precooler's ability to reduce the temperature",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Ar.Clr1.Prcooler.Outlet.Temp" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr1.Prcooler.Outlet.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the charge air cooler 1 precooler outlet.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Ar.Clr1.Prcooler.Intake.Temp" : {
+                                       "generic_name": "Eng.Chrg.Ar.Clr1.Prcooler.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the charge air cooler 1 precooler intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64758": {
+                       "comment": "Charge Air Cooler 1",
+                       "length": 8,
+                       "name": "CAC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Charge.Air.Cooler1.Efficiency" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler1.Efficiency",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Engine charge air cooler 1(CAC1) efficiency is an indication of the CAC's ability to reduce the temperature of the",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Chrg.Air.Cooler1.Ambient.Air.Temp" : {
+                                       "generic_name": "Eng.Chrg.Air.Cooler1.Ambient.Air.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the air surrounding charge air cooler 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Charge.Air.Cooler1.Intake.Temp" : {
+                                       "generic_name": "Eng.Charge.Air.Cooler1.Intake.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the combustion air measured at the CAC 1 Intake.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64806": {
+                       "comment": "Basic Joystick Message 9",
+                       "length": 8,
+                       "name": "BJM9",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick9.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick9.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick9.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick9.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.YAxis.Pos" : {
+                                       "generic_name": "Joystick9.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck9.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck9.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck9.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick9.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.XAxis.Pos" : {
+                                       "generic_name": "Joystick9.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck9.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck9.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck9.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck9.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick9.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick9.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64808": {
+                       "comment": "Basic Joystick Message 8",
+                       "length": 8,
+                       "name": "BJM8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick8.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick8.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick8.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick8.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.YAxis.Pos" : {
+                                       "generic_name": "Joystick8.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck8.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck8.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck8.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick8.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.XAxis.Pos" : {
+                                       "generic_name": "Joystick8.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck8.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck8.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck8.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck8.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick8.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick8.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64810": {
+                       "comment": "Basic Joystick Message 7",
+                       "length": 8,
+                       "name": "BJM7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick7.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick7.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick7.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick7.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.YAxis.Pos" : {
+                                       "generic_name": "Joystick7.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck7.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck7.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck7.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick7.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.XAxis.Pos" : {
+                                       "generic_name": "Joystick7.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck7.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck7.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck7.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck7.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick7.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick7.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64812": {
+                       "comment": "Basic Joystick Message 6",
+                       "length": 8,
+                       "name": "BJM6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick6.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick6.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick6.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick6.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.YAxis.Pos" : {
+                                       "generic_name": "Joystick6.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck6.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck6.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck6.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick6.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.XAxis.Pos" : {
+                                       "generic_name": "Joystick6.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck6.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck6.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck6.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck6.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick6.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick6.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64814": {
+                       "comment": "Basic Joystick Message 5",
+                       "length": 8,
+                       "name": "BJM5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick5.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick5.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick5.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick5.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.YAxis.Pos" : {
+                                       "generic_name": "Joystick5.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck5.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck5.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck5.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick5.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.XAxis.Pos" : {
+                                       "generic_name": "Joystick5.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck5.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck5.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck5.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck5.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick5.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick5.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64816": {
+                       "comment": "Basic Joystick Message 4",
+                       "length": 8,
+                       "name": "BJM4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick4.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick4.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick4.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick4.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.YAxis.Pos" : {
+                                       "generic_name": "Joystick4.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck4.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck4.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck4.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick4.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.XAxis.Pos" : {
+                                       "generic_name": "Joystick4.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck4.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck4.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck4.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck4.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick4.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick4.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64804": {
+                       "comment": "Basic Joystick Message 10",
+                       "length": 8,
+                       "name": "BJM10",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick10.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick10.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick10.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick10.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.YAxis.Pos" : {
+                                       "generic_name": "Joystick10.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck10.YAxs.Lvr.Frwrd.Pstv.Ps.Sttus" : {
+                                       "generic_name": "Jystck10.YAxs.Lvr.Frwrd.Pstv.Ps.Sttus",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.YAxs.Lvr.Bck.Ngtv.Pos.Status" : {
+                                       "generic_name": "Jystck10.YAxs.Lvr.Bck.Ngtv.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick10.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.XAxis.Pos" : {
+                                       "generic_name": "Joystick10.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck10.XAxs.Lvr.Rght.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck10.XAxs.Lvr.Rght.Pstv.Ps.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck10.XAxs.Lvr.Lft.Ngtv.Pos.Status" : {
+                                       "generic_name": "Jystck10.XAxs.Lvr.Lft.Ngtv.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick10.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick10.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64791": {
+                       "comment": "Beltlock and Airbag Deactivation Switch Information",
+                       "length": 8,
+                       "name": "BDS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Pssngr.Arbg.Dctvation.Switch.Status" : {
+                                       "generic_name": "Pssngr.Arbg.Dctvation.Switch.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to deactivate Passenger Airbag manually.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PassengerAirbagActivated": [0],
+                                               "PassengerAirbagDeactivated": [1],
+                                               "ErrrSttOfDctvtnSwtchCnntBDtrmnd": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock10.Status" : {
+                                       "generic_name": "Beltlock10.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 10 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock9.Status" : {
+                                       "generic_name": "Beltlock9.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 9 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock8.Status" : {
+                                       "generic_name": "Beltlock8.Status",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 8 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock7.Status" : {
+                                       "generic_name": "Beltlock7.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 7 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock6.Status" : {
+                                       "generic_name": "Beltlock6.Status",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 6 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock5.Status" : {
+                                       "generic_name": "Beltlock5.Status",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 5 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock4.Status" : {
+                                       "generic_name": "Beltlock4.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 4 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Beltlock3.Status" : {
+                                       "generic_name": "Beltlock3.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Beltlock 3 is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Passenger.Beltlock.Status" : {
+                                       "generic_name": "Passenger.Beltlock.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Passenger Beltlock is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Driver.Beltlock.Status" : {
+                                       "generic_name": "Driver.Beltlock.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of switch used to determine if Driver Beltlock is buckled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Unlocked": [0],
+                                               "Locked": [1],
+                                               "ErrrBltlckSttCannotBeDetermined": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64788": {
+                       "comment": "Battery Charger 2",
+                       "length": 8,
+                       "name": "BCH2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Battery.Charger2.Output.Current" : {
+                                       "generic_name": "Battery.Charger2.Output.Current",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -1600,
+                                       "min_value": -1600,
+                                       "max_value": 1612.75,
+                                       "comment": "Output current of the battery charger connected to the main battery.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Charger2.Output.Voltage" : {
+                                       "generic_name": "Battery.Charger2.Output.Voltage",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Output voltage measured on the battery terminals of the offline battery charger connected to the auxiliary battery.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Charger2.Power.Line.State" : {
+                                       "generic_name": "Battery.Charger2.Power.Line.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A state of the battery charger connection to the power line for the charger connected to the auxiliary battery.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DscnnctdPwrLnIsDscnnctdFrmThChr": [0],
+                                               "CnnctdPwrLnIsCnnctdToTheCharger": [1]
+                                       }
+                               },
+                               "Battery.Charger2.State" : {
+                                       "generic_name": "Battery.Charger2.State",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A state of the offline battery charger connected to the auxiliary battery.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IdlngPwrLnThBttryIsDscnnctdFrmT": [0],
+                                               "ChargingBattery": [1]
+                                       }
+                               }
+                       }
+               },
+               "64789": {
+                       "comment": "Battery Charger 1",
+                       "length": 8,
+                       "name": "BCH1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Battery.Charger1.Output.Current" : {
+                                       "generic_name": "Battery.Charger1.Output.Current",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -1600,
+                                       "min_value": -1600,
+                                       "max_value": 1612.75,
+                                       "comment": "Output current of the battery charger connected to the main battery.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Charger1.Output.Voltage" : {
+                                       "generic_name": "Battery.Charger1.Output.Voltage",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Output voltage measured on the battery terminals of the battery charger connected to the main battery.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Charger1.Power.Line.State" : {
+                                       "generic_name": "Battery.Charger1.Power.Line.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A state of the battery charger connection to the power line for the charger connected to the main battery.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DscnnctdPwrLnIsDscnnctdFrmThChr": [0],
+                                               "CnnctdPwrLnIsCnnctdToTheCharger": [1]
+                                       }
+                               },
+                               "Battery.Charger1.State" : {
+                                       "generic_name": "Battery.Charger1.State",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "A state of the battery charger connected to the main battery.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IdlngPwrLnThBttryIsDscnnctdFrmT": [0],
+                                               "ChargingBattery": [1]
+                                       }
+                               }
+                       }
+               },
+               "64797": {
+                       "comment": "Aftertreatment Differential Temperature 2",
+                       "length": 8,
+                       "name": "ATDT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Thr.Wy.Ctlyst.Dff.Gs.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlyst.Dff.Gs.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The differential engine combustion byproducts gas temperature measured between the intake and outlet of the three way",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlyst.Dff.Gs.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlyst.Dff.Gs.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The differential engine combustion byproducts gas temperature measured between the intake and outlet of the three way",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64798": {
+                       "comment": "Aftertreatment Differential Temperature 1",
+                       "length": 8,
+                       "name": "ATDT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The differential engine combustion byproducts gas temperature measured between the intake and outlet of the gas",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The differential engine combustion byproducts gas temperature measured between the intake and outlet of the gas",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64749": {
+                       "comment": "Aftertreatment 2 Warm Up Diesel Oxidation Catalyst Information",
+                       "length": 8,
+                       "name": "AT2WUDOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Wrm.Up.Dsl.Oxdtn.Ctlyst.Otlt.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Wrm.Up.Dsl.Oxdtn.Ctlyst.Otlt.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the warm up Diesel Oxidation Catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Wrm.Up.Dsl.Oxdtn.Ctlyst.Intk.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Wrm.Up.Dsl.Oxdtn.Ctlyst.Intk.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the warm up Diesel Oxidation Catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64837": {
+                       "comment": "Aftertreatment 2 Three Way Catalytic Converter",
+                       "length": 8,
+                       "name": "AT2TWCC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter differential pressure sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter outlet gas temperature",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter intake gas temperature",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a Three Way Catalytic Converter in exhaust",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the Three Way Catalytic Converter in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the Three Way Catalytic Converter in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64778": {
+                       "comment": "Aftertreatment 2 Outlet Gas NOx Sensor correction data 2",
+                       "length": 8,
+                       "name": "AT2OGC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.NH3.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.NH3.Crrctn",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NH3 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.NO2.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.NO2.Crrctn",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NO2 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure Lambda-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64779": {
+                       "comment": "Aftertreatment 2 Outlet Gas NOx Sensor correction data",
+                       "length": 8,
+                       "name": "AT2OGC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "New part deviation NOx_Offset to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "New part deviation NOx_Gain to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Htr.Rtio" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.NOx.Snsr.Htr.Rtio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Heater ratio to determine temperature at sensor tip.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64780": {
+                       "comment": "Aftertreatment 2 Intake Gas NOx Sensor correction data 2",
+                       "length": 8,
+                       "name": "AT2IGC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.NH3.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.NH3.Crrctn",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NH3 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.NO2.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.NO2.Crrctn",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NO2 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure Lambda-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64781": {
+                       "comment": "Aftertreatment 2 Intake Gas NOx Sensor correction data",
+                       "length": 8,
+                       "name": "AT2IGC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "New part deviation NOx_Offset to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "New part deviation NOx_Gain to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Htr.Rtio" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.NOx.Snsr.Htr.Rtio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Heater ratio to determine temperature at sensor tip.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64836": {
+                       "comment": "Aftertreatment 2 Fuel Control 2",
+                       "length": 8,
+                       "name": "AT2FC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftertreatment2.Fuel.Press2.Ctrl" : {
+                                       "generic_name": "Aftertreatment2.Fuel.Press2.Ctrl",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 2 fuel pressure 2 regulating control valve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "fullyOpen": [4]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Fl.Flw.Dvrter.Valve.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt2.Fl.Flw.Dvrter.Valve.Ctrl",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 2 fuel flow diverter valve.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtreatment2.Fuel.Pump.Relay.Ctrl" : {
+                                       "generic_name": "Aftrtreatment2.Fuel.Pump.Relay.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 2 fuel pump relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Fuel.Press2" : {
+                                       "generic_name": "Aftertreatment2.Fuel.Press2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Second fuel pressure measurement for the aftertreatment 2 system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "38398": {
+                       "comment": "Aftertreatment 2 Diesel Particulate Filter Soot Sensor Calibration",
+                       "length": 8,
+                       "name": "AT2DPFSSC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Stndrd.Dvtn.Clb.Offst" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Stndrd.Dvtn.Clb.Offst",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Calibration offset for the soot standard deviation for Aftertreatment 2 Diesel Particulate Filter soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Mn.Clb.Offst" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Mn.Clb.Offst",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Calibration offset for the soot Mean for Aftertreatment 2 Diesel Particulate Filter soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64794": {
+                       "comment": "Aftertreatment 1 Warm Up Diesel Oxidation Catalyst Information",
+                       "length": 8,
+                       "name": "AT1WUDOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Wrm.Up.Dsl.Oxdtn.Ctlyst.Otlt.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Wrm.Up.Dsl.Oxdtn.Ctlyst.Otlt.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "This is the temperature measured at the outlet of the warm up oxidation catalytic converter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Wrm.Up.Dsl.Oxdtn.Ctlyst.Intk.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Wrm.Up.Dsl.Oxdtn.Ctlyst.Intk.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "This is the temperature measured at the intake of the warm up oxidation catalytic converter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64838": {
+                       "comment": "Aftertreatment 1 Three Way Catalytic Converter",
+                       "length": 8,
+                       "name": "AT1TWCC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter differential pressure sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter outlet gas temperature",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the Three Way Catalytic Converter intake gas temperature",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a Three Way Catalytic Converter in exhaust",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the Three Way Catalytic Converter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Thr.Wy.Ctlytc.Cnvrtr.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the Three Way Catalytic Converter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65110": {
+                       "comment": "Aftertreatment 1 SCR Reagent Tank 1 Information",
+                       "length": 8,
+                       "name": "AT1T1I",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk1.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk1.Htr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 1 heater, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtalyst.Tank.Heater" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtalyst.Tank.Heater",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Percentage of heating applied to the aftertreatment 1 catalyst tank heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt.SCROprtr.Indcmnt.Svrity" : {
+                                       "generic_name": "Aftrtrtmnt.SCROprtr.Indcmnt.Svrity",
+                                       "bit_position": 44,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The severity of operator inducement for anomolies with the SCR system, such as tampering, low DEF quality, and DEF",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoInducementActive": [0],
+                                               "InducementLevel1": [1],
+                                               "InducementLevel2": [2],
+                                               "InducementLevel3": [3],
+                                               "InducementLevel4": [4],
+                                               "InducementLevel5": [5],
+                                               "Reserved": [6],
+                                               "NotAvailable_NotSupported": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk1.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk1.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 1 temperature, by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.DEFTnk.Lw.Lvl.Indicator" : {
+                                       "generic_name": "Aftrtrtmnt1.DEFTnk.Lw.Lvl.Indicator",
+                                       "bit_position": 36,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The desired illumination of the driver's warning indicator for diesel exhaust fluid (DEF) tank low level.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "OnSolid": [1],
+                                               "OnFastBlink": [4],
+                                               "reservedForSAEAssignment": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Tnk.Lvl.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Tnk.Lvl.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst tank level sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtalyst.Tank.Level2" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtalyst.Tank.Level2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The measure of the reagent level in the catalyst tank.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtment1.SCRCatalyst.Tank.Temp" : {
+                                       "generic_name": "Aftrtrtment1.SCRCatalyst.Tank.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the reagent in the storage tank.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCatalyst.Tank.Level" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCatalyst.Tank.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "A special catalyst uses a chemical reagent to reach legal requirement for NOX emissions.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Full": [4]
+                                       }
+                               }
+                       }
+               },
+               "64782": {
+                       "comment": "Aftertreatment 1 Outlet Gas NOx Sensor correction data 2",
+                       "length": 8,
+                       "name": "AT1OGC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.NH3.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.NH3.Crrctn",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NH3 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.NO2.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.NO2.Crrctn",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NO2 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure Lambda-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64783": {
+                       "comment": "Aftertreatment 1 Outlet Gas NOx Sensor correction data",
+                       "length": 8,
+                       "name": "AT1OGC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "New part deviation NOx_Offset to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "New part deviation NOx_Gain to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Htr.Rtio" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.NOx.Snsr.Htr.Rtio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Heater ratio to determine temperature at sensor tip.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64784": {
+                       "comment": "Aftertreatment 1 Intake Gas NOx Sensor correction data 2",
+                       "length": 8,
+                       "name": "AT1IGC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.NH3.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.NH3.Crrctn",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NH3 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.NO2.Crrctn" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.NO2.Crrctn",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of NO2 at the NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Nx",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure NOx-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Crrctn.Of.Prss.Lmbd",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Correction of pressure Lambda-signal to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%/bar",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64785": {
+                       "comment": "Aftertreatment 1 Intake Gas NOx Sensor correction data",
+                       "length": 8,
+                       "name": "AT1IGC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Offst",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "New part deviation NOx_Offset to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Nw.Prt.Dvtn.NOx.Gn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "New part deviation NOx_Gain to correct (recalculate) sensor signal on the Engine ECU side.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Htr.Rtio" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.NOx.Snsr.Htr.Rtio",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.001,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64.255,
+                                       "comment": "Heater ratio to determine temperature at sensor tip.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "38142": {
+                       "comment": "Aftertreatment 1 Diesel Particulate Filter Soot Sensor Calibration",
+                       "length": 8,
+                       "name": "AT1DPFSSC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Stndrd.Dvtn.Clb.Offst" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Stndrd.Dvtn.Clb.Offst",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Calibration offset for the soot standard deviation for Aftertreatment 1 Diesel Particulate Filter soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Mn.Clb.Offst" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Mn.Clb.Offst",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Calibration offset for the soot Mean for Aftertreatment 1 Diesel Particulate Filter soot sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64745": {
+                       "comment": "Armrest Switch Matrix Commands",
+                       "length": 8,
+                       "name": "ARMSWIMC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Armrest.Switch.Matrix2.Switch2" : {
+                                       "generic_name": "Armrest.Switch.Matrix2.Switch2",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Second switch input matrix for the second module located in the armrest",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Armrest.Switch.Matrix2.Switch1" : {
+                                       "generic_name": "Armrest.Switch.Matrix2.Switch1",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch input matrix for the second module located in the armrest",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Armrest.Switch.Matrix.Switch2" : {
+                                       "generic_name": "Armrest.Switch.Matrix.Switch2",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Second switch input matrix for the module located in the armrest",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Armrest.Switch.Matrix.Switch1" : {
+                                       "generic_name": "Armrest.Switch.Matrix.Switch1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Switch input matrix for the module located in the armrest",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "61482": {
+                       "comment": "Angular Rate Information",
+                       "length": 8,
+                       "name": "ARI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Angular.Rate.Measurement.Latency" : {
+                                       "generic_name": "Angular.Rate.Measurement.Latency",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "The estimated measurement latency of the measurement.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Yaw.Rate.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Yaw.Rate.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for yaw angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "YwRtFllyFnctnlDtIsWthnSnsrSpcfc": [0],
+                                               "YwRtDgrddDtIsSspctDTEnvrnmntlCn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Roll.Rate.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Roll.Rate.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for roll angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RllRtFllyFnctnlDtIsWthnSnsrSpcf": [0],
+                                               "RllRtDgrddDtIsSspctDTEnvrnmntlC": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pitch.Rate.Ex.Range.Figure.Of.Merit" : {
+                                       "generic_name": "Pitch.Rate.Ex.Range.Figure.Of.Merit",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for pitch angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PtchRtFllyFnctnlDtIsWthnSnsrSpc": [0],
+                                               "PtchRtDgrddDtIsSspctDTEnvrnmntl": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Yaw.Rate.Ex.Range" : {
+                                       "generic_name": "Yaw.Rate.Ex.Range",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 250.992,
+                                       "comment": "Yaw rate is the rate-of-change of the yaw angle over time.",
+                                       "unit": "deg/sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Roll.Rate.Ex.Range" : {
+                                       "generic_name": "Roll.Rate.Ex.Range",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 250.992,
+                                       "comment": "Roll rate is the rate-of-change of the roll angle over time.",
+                                       "unit": "deg/sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pitch.Rate.Ex.Range" : {
+                                       "generic_name": "Pitch.Rate.Ex.Range",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 250.992,
+                                       "comment": "Pitch rate is the rate-of-change of the pitch angle over time, where the pitch angle vector is in the direction of travel of the",
+                                       "unit": "deg/sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64747": {
+                       "comment": "Aftertreatment 2 NOx Adsorber Information",
+                       "length": 8,
+                       "name": "AFT2NAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.NOx.Adsrbr.DSOx.Rgnrtn.Stts" : {
+                                       "generic_name": "Aftrtrtmnt2.NOx.Adsrbr.DSOx.Rgnrtn.Stts",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the NOx adsorber deSOx regeneration in the second aftertreatment system is active or inactive",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.NOx.Adsrbr.DNOx.Rgnrtn.Stts" : {
+                                       "generic_name": "Aftrtrtmnt2.NOx.Adsrbr.DNOx.Rgnrtn.Stts",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the NOx adsorber deNOx regeneration in the second aftertreatment system is active or inactive",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64748": {
+                       "comment": "Aftertreatment 1 NOx Adsorber Information",
+                       "length": 8,
+                       "name": "AFT1NAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.NOx.Adsrbr.DSOx.Rgnrtn.Stts" : {
+                                       "generic_name": "Aftrtrtmnt1.NOx.Adsrbr.DSOx.Rgnrtn.Stts",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the NOx adsorber deSOx regeneration in the first aftertreatment system is active or inactive",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.NOx.Adsrbr.DNOx.Rgnrtn.Stts" : {
+                                       "generic_name": "Aftrtrtmnt1.NOx.Adsrbr.DNOx.Rgnrtn.Stts",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the NOx adsorber deNOx regeneration in the first aftertreatment system is active or inactive",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64823": {
+                       "comment": "Aftertreatment 2 SCR Service Information",
+                       "length": 8,
+                       "name": "A2SCRSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Cnvrsn.Effcncy" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Cnvrsn.Effcncy",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The SCR catalyst conversion efficiency percentage.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCmdd.Ctlyst.Rgnt.Cnsmptn" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCmdd.Ctlyst.Rgnt.Cnsmptn",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "This parameter transmits the amount of reagent that the emissions control system has requested to be used, averaged",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRAvrg.Ctlyst.Rgnt.Cnsmptn" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRAvrg.Ctlyst.Rgnt.Cnsmptn",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Measured use of reagent by a Selective Catalytic Reduction system for exhaust emission control, averaged over the",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64820": {
+                       "comment": "Aftertreatment 2 SCR Reagant Tank 2 Information",
+                       "length": 8,
+                       "name": "A2SCRRT2I",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Htr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 heater, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Htr" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Htr",
+                                       "bit_position": 47,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "The SCR catalyst reagent tank 2 heater percentage for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRRgnt.Tnk2.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRRgnt.Tnk2.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 temperature, by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 level, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl2" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The SCR catalyst reagent tank 2 level height in mm for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Tmp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "The SCR catalyst reagent tank 2 temperature for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk2.Lvl",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The SCR catalyst reagent tank 2 level percentage for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64821": {
+                       "comment": "Aftertreatment 2 SCR Reagant Tank 1 Information",
+                       "length": 8,
+                       "name": "A2SCRRT1I",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk1.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk1.Htr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 1 heater, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtalyst.Tank.Heater" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtalyst.Tank.Heater",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Percentage of heating applied to the aftertreatment 2 catalyst tank heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk1.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk1.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 1 temperature, by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Tnk.Lvl.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Tnk.Lvl.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst tank level sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtalyst.Tank.Level2" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtalyst.Tank.Level2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The measure of the reagent level in the catalyst tank.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtment2.SCRCatalyst.Tank.Temp" : {
+                                       "generic_name": "Aftrtrtment2.SCRCatalyst.Tank.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the reagent in the storage tank.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCatalyst.Tank.Level" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCatalyst.Tank.Level",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "A special catalyst uses chemical substance to reach legal requirement for NOX emissions.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Empty": [0],
+                                               "Full": [4]
+                                       }
+                               }
+                       }
+               },
+               "64819": {
+                       "comment": "Aftertreatment 2 SCR Reagent Supply Information",
+                       "length": 8,
+                       "name": "A2SCRRSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk.Drn.Vlv.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk.Drn.Vlv.Cmd",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Commanded percentage of maximum Aftertreatment 2 SCR Catalyst Reagent Tank Drain Valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Stte" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Stte",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of aftertreatment 2 SCR Catalyst Reagent dosing pump.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "pumpOperational": [0],
+                                               "pumpError": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk.Fll.Vlv.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tnk.Fll.Vlv.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Commanded percentage of maximum Aftertreatment 2 SCR Catalyst Reagent Tank Fill Valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Rtrn.Vlv" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Rtrn.Vlv",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Command to the valve which determines whether the reagent is delivered to the injector or is routed back to the reagent",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Drv.Prcntg" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Drv.Prcntg",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percent (command) sent to the motor to control the speed of the reagent pump.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Mtr.Spd" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Pmp.Mtr.Spd",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Rotational speed of the motor driving a pump for reagent used in an aftertreatment system.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64822": {
+                       "comment": "Aftertreatment 2 SCR Reagent Information",
+                       "length": 8,
+                       "name": "A2SCRRI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Reagent.Type" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Reagent.Type",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates what reagent is in the tank.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CtlystRgntIsUrCncntrtionTooHigh": [0],
+                                               "CtlystRgntIsUrCncntrationTooLow": [1],
+                                               "CatalystReagentIsDiesel": [2],
+                                               "CatalystReagentIsProperMixture": [3],
+                                               "to1100ReservedForSAEAssignment": [5],
+                                               "NtAblTDtrmneCatalystReagentType": [13],
+                                               "ErrrDtctdWthUrRgntTypeDetection": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Prprts.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Prprts.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst reagent properties",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tmp2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Tmp2.Prlmnry.FMI",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI that applies to the most significant failure of the catalyst temperature sensor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Cndctvty" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Cndctvty",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1250,
+                                       "comment": "A measure of the conductivity of the reagent or fluid at the sensor.",
+                                       "unit": "microSiemens/mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Cncntrtn" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Cncntrtn",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.25,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 62.5,
+                                       "comment": "A measure of the concentration of urea in water.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Ragent.Temp2" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Ragent.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the catalyst reagent at the device measuring reagent quality",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64824": {
+                       "comment": "Aftertreatment 2 SCR Exhaust Gas Temperature",
+                       "length": 8,
+                       "name": "A2SCREGT",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Otlt.Gas.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Otlt.Gas.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the SCR catalyst exhaust in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Intk.Gas.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Intk.Gas.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the SCR catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64825": {
+                       "comment": "Aftertreatment 2 SCR Exhaust Gas Pressures",
+                       "length": 8,
+                       "name": "A2SCREGP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Exhst.Gs.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Exhst.Gs.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Exhst.Gs.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Exhst.Gs.Dff.Prss",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a SCR catalyst in exhaust bank 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64826": {
+                       "comment": "Aftertreatment 2 SCR Dosing System Requests 2",
+                       "length": 8,
+                       "name": "A2SCRDSR2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Tnk2.Hter.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Tnk2.Hter.Cmd",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This is the command for the Aftertreatment 2 SCR Catalyst Tank 2 Heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Tnk.Hater.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Tnk.Hater.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Command for the Aftertreatment 2 SCR Catalyst Tank Heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter4" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter4",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 4 request for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter3" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter3",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 3 request for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter2" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter2",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 2 request for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter1" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Hter1",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 1 request for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRDser.Heating.Mode.Rq" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDser.Heating.Mode.Rq",
+                                       "bit_position": 3,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used if multiple heater modes are available in the Doser.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HeaterOff": [0],
+                                               "HeaterEconomyMode": [1],
+                                               "HeaterAutomaticMode": [2],
+                                               "HeaterOn": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRDsr.Flt.Spprssion.Rq" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDsr.Flt.Spprssion.Rq",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Used if external devices can warn of conditions that require suppression of potential faults in the doser due to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ErrorSuppressionOff": [0],
+                                               "ErrorSuppressionOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "61479": {
+                       "comment": "Aftertreatment 2 SCR Dosing System Requests 1",
+                       "length": 8,
+                       "name": "A2SCRDSR1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRRqd.Rgnt.Qntty.Fr.Intgrtr" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRRqd.Rgnt.Qntty.Fr.Intgrtr",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Represents the command for the reducing agent quantity integrator in the dosing control unit",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment2.SCRSystem.Rqed.State" : {
+                                       "generic_name": "Aftrtratment2.SCRSystem.Rqed.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Requested state of SCR system for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Dormant": [0],
+                                               "PreparingDosingReadiness": [1],
+                                               "NormalDosingOperation": [2],
+                                               "SystemErrorPending": [3],
+                                               "RservedForFutureAssignmentBySAE": [4],
+                                               "ProtectModeAgainstHeat": [5],
+                                               "ProtectModeAgainstCold": [6],
+                                               "Shutoff": [7],
+                                               "Diagnosis": [8],
+                                               "ServiceTestModeDosingAllowed": [9],
+                                               "ServiceTestModeDosingNotAllowed": [10],
+                                               "1101RsrvdFrFtureAssignmentBySAE": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRRqd.Dsng.Rgnt.Qntity" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRRqd.Dsng.Rgnt.Qntity",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "Actual requested dosing quantity of catalyst reagent",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64827": {
+                       "comment": "Aftertreatment 2 SCR Dosing System Information 2",
+                       "length": 8,
+                       "name": "A2SCRDSI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr4.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr4.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 4, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr4.Stt" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr4.Stt",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 4 state for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr3.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr3.Prlmnry.FMI",
+                                       "bit_position": 49,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 3, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr3.Stt" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr3.Stt",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 3 state for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr2.Prlmnry.FMI",
+                                       "bit_position": 41,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 2, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr2.Stt" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr2.Stt",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 2 state for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr1.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr1.Prlmnry.FMI",
+                                       "bit_position": 33,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 1, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr1.Stt" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRCtlyst.Rgnt.Ln.Htr1.Stt",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 1 state for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRFedback.Ctrl.Status" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRFedback.Ctrl.Status",
+                                       "bit_position": 26,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The SCR feedback control status (open/closed loop) for aftertreatment system 2 (exhaust bank 2).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "openLoopCtrlActive": [0],
+                                               "closedLoopCtrlActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [5],
+                                               "error": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRDsng.Vlv.Exhst.Tmp.Rdctn.Rq" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDsng.Vlv.Exhst.Tmp.Rdctn.Rq",
+                                       "bit_position": 23,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Protection request for the dosing valve of the SCR-system to prevent overheating",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoRq": [0],
+                                               "ReductionRqStage1": [1],
+                                               "ReductionRqStage2": [2],
+                                               "RservedForFutureAssignmentBySAE": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRDosing.Reagent.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDosing.Reagent.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "The SCR dosing reagent temperature (measured closest to dosing valve) for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRDsng.Ar.Assist.Valve" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDsng.Ar.Assist.Valve",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of the valve used to regulate the air supply of an air assist SCR dosing system for an engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRDsng.Ar.Assst.Abs.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDsng.Ar.Assst.Abs.Prss",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The SCR dosing system air assist absolute pressure for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61478": {
+                       "comment": "Aftertreatment 2 SCR Dosing System Information 1",
+                       "length": 8,
+                       "name": "A2SCRDSI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.SCRDsng.Rgent.Abs.Press" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRDsng.Rgent.Abs.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The SCR dosing reagent absolute pressure (measured closest to dosing valve) for aftertreatment system 2 (exhaust bank",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.SCRActl.Rgnt.Qntty.Of.Intgrtr" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRActl.Rgnt.Qntty.Of.Intgrtr",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The SCR requested reagent integrator total quantity for aftertreatment system 2 (exhaust bank 2).",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.SCRSystem.State" : {
+                                       "generic_name": "Aftertreatment2.SCRSystem.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Actual state of SCR system",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Dormant": [0],
+                                               "PreparingDosingReadiness": [1],
+                                               "NormalDosingOperation": [2],
+                                               "SystemErrorPending": [3],
+                                               "RservedForFutureAssignmentBySAE": [4],
+                                               "ProtectModeAgainstHeat": [5],
+                                               "ProtectModeAgainstCold": [6],
+                                               "Shutoff": [7],
+                                               "Diagnosis": [8],
+                                               "ServiceTestModeDosingAllowed": [9],
+                                               "ServiceTestModeDosingNotAllowed": [10],
+                                               "1101RsrvdFrFtureAssignmentBySAE": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt2.SCRActl.Dsng.Rgnt.Qntty" : {
+                                       "generic_name": "Aftrtrtmnt2.SCRActl.Dsng.Rgnt.Qntty",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "Actual reducing agent quantity of SCR system.",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61480": {
+                       "comment": "Aftertreatment 2 SCR Ammonia Information",
+                       "length": 8,
+                       "name": "A2SCRAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Htr.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Htr.Ctrl",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOffNotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the outlet NH3 exhaust gas sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.NH3.Gs.Snsor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Gs.Snsor.At.Temp",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment outlet NH3 gas sensor is within the manufacturer's specified range",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Pwr.In.Rng" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Gs.Snsr.Pwr.In.Rng",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment outlet NH3 gas sensor is within the manufacturer's specification in",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.NH3.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Reading.Stable",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NH3 reading of the aftertreatment outlet NH3 sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.NH3.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NH3.Snsr.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet NH3 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Outlet.NH3" : {
+                                       "generic_name": "Aftertreatment2.Outlet.NH3",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "The amount of NH3 in the exhaust exiting the aftertreatment system measured by a NH3 sensor at the aftertreatment",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64801": {
+                       "comment": "Aftertreatment 2 Gas Oxidation Catalyst",
+                       "length": 8,
+                       "name": "A2GOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of the gas oxidation catalyst in exhaust bank 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the gas oxidation catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the gas oxidation catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64799": {
+                       "comment": "Aftertreatment 2 Diesel Oxidation Catalyst",
+                       "length": 8,
+                       "name": "A2DOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst outlet gas temperature sensor by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst intake gas temperature sensor by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a diesel oxidation catalyst in exhaust bank 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the diesel oxidation catalyst exhaust in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the diesel oxidation catalyst in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64829": {
+                       "comment": "Aftertreatment 1 SCR Reagant Tank 2 Information",
+                       "length": 8,
+                       "name": "A1SCRRT2I",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Htr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 heater, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Htr" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Htr",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The SCR catalyst reagent tank 2 heater percentage for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRRgnt.Tnk2.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRRgnt.Tnk2.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 temperature, by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent tank 2 level, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl2" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The SCR catalyst reagent tank 2 level height in mm for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Tmp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "The SCR catalyst reagent tank 2 temperature for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk2.Lvl",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The SCR catalyst reagent tank 2 level percentage for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64828": {
+                       "comment": "Aftertreatment 1 SCR Reagent Supply Information",
+                       "length": 8,
+                       "name": "A1SCRRSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk.Drn.Vlv.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk.Drn.Vlv.Cmd",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Commanded percentage of maximum Aftertreatment 1 SCR Catalyst Reagent Tank Drain Valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Stte" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Stte",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State of aftertreatment 1 SCR Catalyst Reagent dosing pump.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "pumpOperational": [0],
+                                               "pumpError": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk.Fll.Vlv.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Tnk.Fll.Vlv.Cmd",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Commanded percentage of maximum Aftertreatment 1 SCR Catalyst Reagent Tank Fill Valve opening.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Rtrn.Vlv" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Rtrn.Vlv",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Command to the valve which determines whether the reagent is delivered to the injector or is routed back to the reagent",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Drv.Prcntg" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Drv.Prcntg",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The percent (command) sent to the motor to control the speed of the reagent pump.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Mtr.Spd" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Pmp.Mtr.Spd",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Rotational speed of the motor driving a pump for reagent used in an aftertreatment system.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64830": {
+                       "comment": "Aftertreatment 1 SCR Exhaust Gas Temperature",
+                       "length": 8,
+                       "name": "A1SCREGT",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Otlt.Gas.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Otlt.Gas.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the SCR catalyst exhaust in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Intk.Gas.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Intk.Gas.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the SCR catalyst in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64831": {
+                       "comment": "Aftertreatment 1 SCR Exhaust Gas Pressures",
+                       "length": 8,
+                       "name": "A1SCREGP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Exhst.Gs.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Exhst.Gs.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Exhst.Gs.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Exhst.Gs.Dff.Prss",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a SCR catalyst in exhaust bank 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64832": {
+                       "comment": "Aftertreatment 1 SCR Dosing System Requests 2",
+                       "length": 8,
+                       "name": "A1SCRDSR2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Tnk2.Hter.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Tnk2.Hter.Cmd",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This is the command for the Aftertreatment 1 SCR Catalyst Tank 2 Heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Tnk.Hater.Cmd" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Tnk.Hater.Cmd",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Command for the Aftertreatment 1 SCR Catalyst Tank Heater.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter4" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter4",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 4 request for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter3" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter3",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 3 request for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter2" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter2",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 2 request for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter1" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Hter1",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 1 request for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqForHeaterToBeInactive": [0],
+                                               "RqForHeaterToBeActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRDser.Heating.Mode.Rq" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDser.Heating.Mode.Rq",
+                                       "bit_position": 3,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Used if multiple heater modes are available in the Doser.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "HeaterOff": [0],
+                                               "HeaterEconomyMode": [1],
+                                               "HeaterAutomaticMode": [2],
+                                               "HeaterOn": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRDsr.Flt.Spprssion.Rq" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDsr.Flt.Spprssion.Rq",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Used if external devices can warn of conditions that require suppression of potential faults in the doser due to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ErrorSuppressionOff": [0],
+                                               "ErrorSuppressionOn": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "61476": {
+                       "comment": "Aftertreatment 1 SCR Dosing System Requests 1",
+                       "length": 8,
+                       "name": "A1SCRDSR1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRRqd.Rgnt.Qntty.Fr.Intgrtr" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRRqd.Rgnt.Qntty.Fr.Intgrtr",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Represents the command for the reducing agent quantity integrator in the dosing control unit",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment1.SCRSystem.Rqed.State" : {
+                                       "generic_name": "Aftrtratment1.SCRSystem.Rqed.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Requested state of SCR system for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Dormant": [0],
+                                               "PreparingDosingReadiness": [1],
+                                               "NormalDosingOperation": [2],
+                                               "SystemErrorPending": [3],
+                                               "RservedForFutureAssignmentBySAE": [4],
+                                               "ProtectModeAgainstHeat": [5],
+                                               "ProtectModeAgainstCold": [6],
+                                               "Shutoff": [7],
+                                               "Diagnosis": [8],
+                                               "ServiceTestModeDosingAllowed": [9],
+                                               "ServiceTestModeDosingNotAllowed": [10],
+                                               "1101RsrvdFrFtureAssignmentBySAE": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRRqd.Dsng.Rgnt.Qntity" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRRqd.Dsng.Rgnt.Qntity",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "Actual requested dosing quantity of catalyst reagent",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64833": {
+                       "comment": "Aftertreatment 1 SCR Dosing System Information 2",
+                       "length": 8,
+                       "name": "A1SCRDSI2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr4.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr4.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 4, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr4.Stt" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr4.Stt",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 4 state for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr3.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr3.Prlmnry.FMI",
+                                       "bit_position": 49,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 3, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr3.Stt" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr3.Stt",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 3 state for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr2.Prlmnry.FMI",
+                                       "bit_position": 41,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 2, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr2.Stt" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr2.Stt",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 2 state for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr1.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr1.Prlmnry.FMI",
+                                       "bit_position": 33,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the SCR catalyst reagent line heater 1, by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr1.Stt" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRCtlyst.Rgnt.Ln.Htr1.Stt",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The SCR catalyst reagent line heater 1 state for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "heaterInactive": [0],
+                                               "heaterActive": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRFedback.Ctrl.Status" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRFedback.Ctrl.Status",
+                                       "bit_position": 26,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The SCR feedback control status (open/closed loop) for aftertreatment system 1 (exhaust bank 1).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "openLoopCtrlActive": [0],
+                                               "closedLoopCtrlActive": [1],
+                                               "rservedForFutureAssignmentBySAE": [5],
+                                               "error": [6],
+                                               "notAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRDsng.Vlv.Exhst.Tmp.Rdctn.Rq" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDsng.Vlv.Exhst.Tmp.Rdctn.Rq",
+                                       "bit_position": 23,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Protection request for the dosing valve of the SCR-system to prevent overheating",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoRq": [0],
+                                               "ReductionRqStage1": [1],
+                                               "ReductionRqStage2": [2],
+                                               "RservedForFutureAssignmentBySAE": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRDosing.Reagent.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDosing.Reagent.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "The SCR dosing reagent temperature (measured closest to dosing valve) for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRDsng.Ar.Assist.Valve" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDsng.Ar.Assist.Valve",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of the valve used to regulate the air supply of an air assist SCR dosing system for an engine.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRDsng.Ar.Assst.Abs.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDsng.Ar.Assst.Abs.Prss",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The SCR dosing system air assist absolute pressure for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61475": {
+                       "comment": "Aftertreatment 1 SCR Dosing System Information 1",
+                       "length": 8,
+                       "name": "A1SCRDSI1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.SCRDsng.Rgent.Abs.Press" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRDsng.Rgent.Abs.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The SCR dosing reagent absolute pressure (measured closest to dosing valve) for aftertreatment system 1 (exhaust bank",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.SCRActl.Rgnt.Qntty.Of.Intgrtr" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRActl.Rgnt.Qntty.Of.Intgrtr",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The SCR requested reagent integrator total quantity for aftertreatment system 1 (exhaust bank 1).",
+                                       "unit": "g",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.SCRSystem.State" : {
+                                       "generic_name": "Aftertreatment1.SCRSystem.State",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Actual state of SCR system",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Dormant": [0],
+                                               "PreparingDosingReadiness": [1],
+                                               "NormalDosingOperation": [2],
+                                               "SystemErrorPending": [3],
+                                               "RservedForFutureAssignmentBySAE": [4],
+                                               "ProtectModeAgainstHeat": [5],
+                                               "ProtectModeAgainstCold": [6],
+                                               "Shutoff": [7],
+                                               "Diagnosis": [8],
+                                               "ServiceTestModeDosingAllowed": [9],
+                                               "ServiceTestModeDosingNotAllowed": [10],
+                                               "1101RsrvdFrFtureAssignmentBySAE": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Aftrtrtmnt1.SCRActl.Dsng.Rgnt.Qntty" : {
+                                       "generic_name": "Aftrtrtmnt1.SCRActl.Dsng.Rgnt.Qntty",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "Actual reducing agent quantity of SCR-system",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61477": {
+                       "comment": "Aftertreatment 1 SCR Ammonia Information",
+                       "length": 8,
+                       "name": "A1SCRAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Htr.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Htr.Ctrl",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOffNotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the outlet NH3 exhaust gas sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.NH3.Gs.Snsor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Gs.Snsor.At.Temp",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment outlet NH3 gas sensor is within the manufacturer's specified range",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Pwr.In.Rng" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Gs.Snsr.Pwr.In.Rng",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment outlet NH3 gas sensor is within the manufacturer's specification in",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.NH3.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Reading.Stable",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NH3 reading of the aftertreatment outlet NH3 sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.NH3.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NH3.Snsr.Prlmnry.FMI",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet NH3 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Outlet.NH3" : {
+                                       "generic_name": "Aftertreatment1.Outlet.NH3",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.3,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 19276.5,
+                                       "comment": "The amount of NH3 in the exhaust exiting the aftertreatment system measured by a NH3 sensor at the aftertreatment",
+                                       "unit": "g/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64802": {
+                       "comment": "Aftertreatment 1 Gas Oxidation Catalyst",
+                       "length": 8,
+                       "name": "A1GOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the gas oxidation catalyst intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of the gas oxidation catalyst in exhaust bank 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the gas oxidation catalyst in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Gs.Oxdtn.Ctlyst.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the gas oxidation catalyst in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64864": {
+                       "comment": "HB1C provides the system specific individual B1 failure counters",
+                       "length": 8,
+                       "name": "DM40",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Failure.Specific.B1.Counter" : {
+                                       "generic_name": "Failure.Specific.B1.Counter",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The Failure Specific B1 Counter provides an individual B1 counter",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Failure.Mode.Identifier1" : {
+                                       "generic_name": "Failure.Mode.Identifier1",
+                                       "bit_position": 15,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "The FMI defines the type of failure detected in the subsystem identified by an SPN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Above normal (most severe)": [0],
+                                               "Below normal (most severe)": [1],
+                                               "Data erratic": [2],
+                                               "Voltage above normal": [3],
+                                               "Voltage below normal": [4],
+                                               "Current below normal": [5],
+                                               "Current above normal": [6],
+                                               "Mechanical system not responding": [7],
+                                               "Abnormal frequency": [8],
+                                               "Abnormal update rate": [9],
+                                               "Abnormal rate of change": [10],
+                                               "Root cause not known": [11],
+                                               "Bad intelligent device": [12],
+                                               "Out of calibration": [13],
+                                               "Special intstructions": [14],
+                                               "Above normal (least severe)": [15],
+                                               "Above normal (moderately severe)": [16],
+                                               "Below normal (least severe)": [17],
+                                               "Below normal (moderately severe)": [18],
+                                               "Received network data in error": [19],
+                                               "Not available": [31]
+                                       }
+                               },
+                               "S.PN1.High" : {
+                                       "generic_name": "S.PN1.High",
+                                       "bit_position": 20,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "SPN1" : {
+                                       "generic_name": "SPN1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65536,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64865": {
+                       "comment": "Cumulative Continuous MI-System",
+                       "length": 8,
+                       "name": "DM39",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sys.Greatest.B1.Counter" : {
+                                       "generic_name": "Sys.Greatest.B1.Counter",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "System Greatest B1 Counter",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sys.Cumulative.Continuous.MITime" : {
+                                       "generic_name": "Sys.Cumulative.Continuous.MITime",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 210554060.75,
+                                       "comment": "System Cumulative Continuous MI Time",
+                                       "unit": "hr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64866": {
+                       "comment": "Harmonized Global Regulation Description",
+                       "length": 8,
+                       "name": "DM38",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Regulation.Description" : {
+                                       "generic_name": "Regulation.Description",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Global Technical Regulation Description",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64867": {
+                       "comment": "Harmonized Roadworthiness",
+                       "length": 8,
+                       "name": "DM37",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sys.Incomplete.Monitor.Count" : {
+                                       "generic_name": "Sys.Incomplete.Monitor.Count",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64512,
+                                       "comment": "System Incomplete Monitor Count",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sys.Mal.Ind.Activation.Mode" : {
+                                       "generic_name": "Sys.Mal.Ind.Activation.Mode",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "System Malfunction Indicator Status",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sys.Mal.Ind.Display.Strategy" : {
+                                       "generic_name": "Sys.Mal.Ind.Display.Strategy",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "System Malfunction Indicator Display",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sys.Continuous.Malfunction.Ind" : {
+                                       "generic_name": "Sys.Continuous.Malfunction.Ind",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "System Continuous Malfunction Indicator",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Sys.Non.Roadworthy.Comp.Count" : {
+                                       "generic_name": "Sys.Non.Roadworthy.Comp.Count",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "System Non-Roadworthy Component Count",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64868": {
+                       "comment": "Harmonized Roadworthiness ",
+                       "length": 8,
+                       "name": "DM36",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Vehicle.Current.MIAccum.Time" : {
+                                       "generic_name": "Vehicle.Current.MIAccum.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Vehicle Current MI Accumulated Time",
+                                       "unit": "min",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Incomplete.Monitor.Count" : {
+                                       "generic_name": "Vehicle.Incomplete.Monitor.Count",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Vehicle Incomplete Monitor Count",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Malfunction.Ind.Act.Mode" : {
+                                       "generic_name": "Vehicle.Malfunction.Ind.Act.Mode",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Vehicle Malfunction Indicator Status ",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Malfunction.Ind.Strategy" : {
+                                       "generic_name": "Vehicle.Malfunction.Ind.Strategy",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Vehicle Malfunction Indicator Display Strategy ",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Continuous.Malfunction.Ind" : {
+                                       "generic_name": "Vehicle.Continuous.Malfunction.Ind",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Vehicle Continuous Malfunction Indicator",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.Non.Roadworthy.Comp.Count" : {
+                                       "generic_name": "Vehicle.Non.Roadworthy.Comp.Count",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Vehicle Non-Roadworthy Component Count",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "41214": {
+                       "comment": "The status of engine operating in the NTE control areas for given pollutants, such as NOx and PM",
+                       "length": 8,
+                       "name": "DM34",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "P.MNTEDeficiency.Area.Status" : {
+                                       "generic_name": "P.MNTEDeficiency.Area.Status",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the PM NTE Deficiency Area",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Mnfc.PMNTECarve.Out.Area.Status" : {
+                                       "generic_name": "Mnfc.PMNTECarve.Out.Area.Status",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the manufacturer specific PM NTE carve out area",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "P.MNTEControl.Area.Status" : {
+                                       "generic_name": "P.MNTEControl.Area.Status",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the bounded region of the engine's torque and speed map.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "N.Ox.NTEDeficiency.Area.Status" : {
+                                       "generic_name": "N.Ox.NTEDeficiency.Area.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the NOx NTE Deficiency Area",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Mnfc.NOx.NTECarve.Out.Area.Status" : {
+                                       "generic_name": "Mnfc.NOx.NTECarve.Out.Area.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the bounded region of the engine's torque and speed map.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "N.Ox.NTEControl.Area.Status" : {
+                                       "generic_name": "N.Ox.NTEControl.Area.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Status of engine operation within the bounded region of the engine's torque and speed map.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OutsideControlArea": [0],
+                                               "InsideControlArea": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "41470": {
+                       "comment": "The total engine run time while each of the Emission Increasing Auxiliary Emission Control Devices is active",
+                       "length": 9,
+                       "name": "DM33",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "A.ECDEngine.Hours1.Timer2" : {
+                                       "generic_name": "A.ECDEngine.Hours1.Timer2",
+                                       "bit_position": 39,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "The total engine running hours recorded in the second timer for the EI-AECD",
+                                       "unit": "min",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "A.ECDEngine.Hours1.Timer1" : {
+                                       "generic_name": "A.ECDEngine.Hours1.Timer1",
+                                       "bit_position": 7,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "The total engine running hours recorded in the first timer for the EI-AECD",
+                                       "unit": "min",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "A.ECDNumber1" : {
+                                       "generic_name": "A.ECDNumber1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The manufacturer assigned number for the specific EI-AECD",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65126": {
+                       "comment": "Battery Main Switch Information",
+                       "length": 8,
+                       "name": "BM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Battery.Main.Switch.Hold.State" : {
+                                       "generic_name": "Battery.Main.Switch.Hold.State",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter indicating whether the battery main switch is held due to an external request or not.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BatteryMainSwitchNotHeld": [0],
+                                               "BatteryMainSwitchHeld": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "64986": {
+                       "comment": "Basic Joystick Message 3",
+                       "length": 8,
+                       "name": "BJM3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick3.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick3.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick3.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.YAxis.Pos" : {
+                                       "generic_name": "Joystick3.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck3.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck3.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck3.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick3.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.XAxis.Pos" : {
+                                       "generic_name": "Joystick3.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck3.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck3.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck3.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck3.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick3.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick3.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick3.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64984": {
+                       "comment": "Basic Joystick Message 2",
+                       "length": 8,
+                       "name": "BJM2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick2.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick2.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick2.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.YAxis.Pos" : {
+                                       "generic_name": "Joystick2.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck2.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck2.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck2.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick2.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.XAxis.Pos" : {
+                                       "generic_name": "Joystick2.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck2.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck2.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck2.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck2.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick2.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick2.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick2.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64982": {
+                       "comment": "Basic Joystick Message 1",
+                       "length": 8,
+                       "name": "BJM1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Joystick1.XAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick1.XAxis.Detent.Pos.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.YAxis.Detent.Pos.Status" : {
+                                       "generic_name": "Joystick1.YAxis.Detent.Pos.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the detent position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInDetentPos": [0],
+                                               "InDetentPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.YAxis.Pos" : {
+                                       "generic_name": "Joystick1.YAxis.Pos",
+                                       "bit_position": 21,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Jystck1.YAxs.Lvr.Frwrd.Pstv.Ps.Status" : {
+                                       "generic_name": "Jystck1.YAxs.Lvr.Frwrd.Pstv.Ps.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.YAxs.Lvr.Bck.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck1.YAxs.Lvr.Bck.Ngtve.Pos.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.YAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick1.YAxis.Neutral.Pos.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.XAxis.Pos" : {
+                                       "generic_name": "Joystick1.XAxis.Pos",
+                                       "bit_position": 5,
+                                       "bit_size": 10,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 102,
+                                       "comment": "The position of the joystick in the relative motion of travel from the neutral position.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Joystick1.Button9.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button9.Pressed.Status",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button10.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button10.Pressed.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button11.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button11.Pressed.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button12.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button12.Pressed.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button5.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button5.Pressed.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button6.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button6.Pressed.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button7.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button7.Pressed.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button8.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button8.Pressed.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button1.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button1.Pressed.Status",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button2.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button2.Pressed.Status",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button3.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button3.Pressed.Status",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.Button4.Pressed.Status" : {
+                                       "generic_name": "Joystick1.Button4.Pressed.Status",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the joystick button has been pressed.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ButtonNotPressed": [0],
+                                               "ButtonPressed": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.XAxs.Lvr.Rght.Pstv.Pos.Status" : {
+                                       "generic_name": "Jystck1.XAxs.Lvr.Rght.Pstv.Pos.Status",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the positive travel side (forward, right, clockwise, up) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnPositiveSideOfNeutral": [0],
+                                               "OnPositiveSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Jystck1.XAxs.Lvr.Lft.Ngtve.Pos.Status" : {
+                                       "generic_name": "Jystck1.XAxs.Lvr.Lft.Ngtve.Pos.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is on the negative travel side (back, left, counterclockwise, down) relative to the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOnNegativeSideOfNeutral": [0],
+                                               "OnNegativeSideOfNeutral": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Joystick1.XAxis.Neutral.Pos.Status" : {
+                                       "generic_name": "Joystick1.XAxis.Neutral.Pos.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Reports when the current joystick position is in the neutral position for that axis of travel.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInNeutralPos": [0],
+                                               "InNeutralPos": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65274": {
+                       "comment": "Brakes",
+                       "length": 8,
+                       "name": "B",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Parking.Brake.Red.Warning.Signal" : {
+                                       "generic_name": "Parking.Brake.Red.Warning.Signal",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter commands the Parking Brake red optical warning signal.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Park.Brake.Release.Inhibit.Status" : {
+                                       "generic_name": "Park.Brake.Release.Inhibit.Status",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides reports on the status of the Park Brake Release Inhibit function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ParkBrakeReleaseIsNotInhibited": [0],
+                                               "ParkBrakeReleaseIsInhibited": [1],
+                                               "Error": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Parking.Brake.Actuator" : {
+                                       "generic_name": "Parking.Brake.Actuator",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the current state of the actuator(s) that control the parking brake (see also SPN 70).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ParkingBrakeActuatorInactive": [0],
+                                               "ParkingBrakeActuatorActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Brake.Second.Press" : {
+                                       "generic_name": "Brake.Second.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of air in the secondary, or service side, of the air brake system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brake.Primary.Press" : {
+                                       "generic_name": "Brake.Primary.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of air in the primary, or supply side, of the air brake system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Brake.App.Press" : {
+                                       "generic_name": "Brake.App.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of compressed air or fluid in vehicle braking system measured at the brake chamber when brake shoe (or",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65278": {
+                       "comment": "Auxiliary Water Pump Pressure",
+                       "length": 8,
+                       "name": "AWPP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.Pump.Press" : {
+                                       "generic_name": "Aux.Pump.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Gage pressure of auxiliary water pump driven as a PTO device.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64800": {
+                       "comment": "Aftertreatment 1 Diesel Oxidation Catalyst",
+                       "length": 8,
+                       "name": "A1DOC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Dff.Prss.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst outlet gas temperature sensor by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel oxidation catalyst intake gas temperature sensor by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a diesel oxidation catalyst in exhaust bank 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the diesel oxidation catalyst exhaust in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Oxdtn.Ctlyst.Intk.Gs.Tmp",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the diesel oxidation catalyst in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "41982": {
+                       "comment": "This message shall provide the applicable lamp for each individual DTC",
+                       "length": 8,
+                       "name": "DM31",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "D.TCWarn.Lamp.Support.Status" : {
+                                       "generic_name": "D.TCWarn.Lamp.Support.Status",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCWarn.Lamp.Support.Flash" : {
+                                       "generic_name": "D.TCWarn.Lamp.Support.Flash",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SlowFlash": [0],
+                                               "FastFlash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCStop.Lamp.Support.Status" : {
+                                       "generic_name": "D.TCStop.Lamp.Support.Status",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCStop.Lamp.Support.Flash" : {
+                                       "generic_name": "D.TCStop.Lamp.Support.Flash",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SlowFlash": [0],
+                                               "FastFlash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCProtect.Lamp.Support.Status" : {
+                                       "generic_name": "D.TCProtect.Lamp.Support.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCProtect.Lamp.Support.Flash" : {
+                                       "generic_name": "D.TCProtect.Lamp.Support.Flash",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SlowFlash": [0],
+                                               "FastFlash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCMil.Support.Status" : {
+                                       "generic_name": "D.TCMil.Support.Status",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LampOff": [0],
+                                               "LampOn": [1],
+                                               "ShortMI": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "D.TCMil.Support.Flash" : {
+                                       "generic_name": "D.TCMil.Support.Flash",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lamp support status",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SlowFlash": [0],
+                                               "FastFlash": [1],
+                                               "Class_C_DTC": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64839": {
+                       "comment": "Transmission Mode Labels",
+                       "length": 8,
+                       "name": "TML",
+                       "bus" : "j1939"
+               },
+               "39934": {
+                       "comment": "Proprietary Method Identification",
+                       "length": 8,
+                       "name": "PMI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Data.Dictionary.Method" : {
+                                       "generic_name": "Data.Dictionary.Method",
+                                       "bit_position": 10,
+                                       "bit_size": 21,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2097151,
+                                       "comment": "A manufacturer defined code to define the proprietary communications method.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Data.Dictionary.Manufacturer.Code" : {
+                                       "generic_name": "Data.Dictionary.Manufacturer.Code",
+                                       "bit_position": -1,
+                                       "bit_size": 11,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2047,
+                                       "comment": "The J1939 Manufacturer Code (see J1939 Table B10) associated with the manufacturer who defined the proprietary",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64840": {
+                       "comment": "Engine Exhaust Bank 2 O2 Fuel Trim",
+                       "length": 8,
+                       "name": "O2FT2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Shortterm.Fuel.Trim.Bank2" : {
+                                       "generic_name": "Shortterm.Fuel.Trim.Bank2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "This parameter is the short-term percent change in fueling based on the O2 sensor feedback for cylinder bank 2, based",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Longterm.Fuel.Trim.Bank2" : {
+                                       "generic_name": "Longterm.Fuel.Trim.Bank2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "This parameter is the long-term percent change in fueling based on the O2 sensor feedback for cylinder bank 2, based on",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprtn.Bnk2" : {
+                                       "generic_name": "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprtn.Bnk2",
+                                       "bit_position": 31,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the status of the bank 2 O2 sensor feedback closed loop operation",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OpnLpHsNtYtStsfdCndtnsTGClsdLop": [0],
+                                               "ClsdLpUsngOxygnSnsrAsFdbckFrFlC": [1],
+                                               "OpenLoopDueToDrivingConditions": [2],
+                                               "OpnLoopDueToDetectedSystemFault": [3],
+                                               "ClsdLpBtFltWthAtLstOnOxygnSnsrM": [4],
+                                               "1110Reserved": [5],
+                                               "NotSupported": [15]
+                                       }
+                               }
+                       }
+               },
+               "64841": {
+                       "comment": "Engine Exhaust Bank 1 O2 Fuel Trim",
+                       "length": 8,
+                       "name": "O2FT1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Shortterm.Fuel.Trim.Bank1" : {
+                                       "generic_name": "Shortterm.Fuel.Trim.Bank1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "This parameter is the short-term percent change in fueling based on the O2 sensor feedback for cylinder bank 1, based",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Longterm.Fuel.Trim.Bank1" : {
+                                       "generic_name": "Longterm.Fuel.Trim.Bank1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -100,
+                                       "min_value": -100,
+                                       "max_value": 100,
+                                       "comment": "This parameter is the long-term percent change in fueling based on the O2 sensor feedback for cylinder bank 1, based on",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprtn.Bnk1" : {
+                                       "generic_name": "Eng.Exhst.Gs.Oxygn.Snsr.Clsd.Lp.Oprtn.Bnk1",
+                                       "bit_position": 31,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates the status of the bank 1 O2 sensor feedback closed loop operation",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OpnLpHsNtYtStsfdCndtnsTGClsdLop": [0],
+                                               "ClsdLpUsngOxygnSnsrAsFdbckFrFlC": [1],
+                                               "OpenLoopDueToDrivingConditions": [2],
+                                               "OpnLoopDueToDetectedSystemFault": [3],
+                                               "ClsdLpBtFltWthAtLstOnOxygnSnsrM": [4],
+                                               "1110Reserved": [5],
+                                               "NotSupported": [15]
+                                       }
+                               }
+                       }
+               },
+               "61473": {
+                       "comment": "Engine Speed Sensor Information",
+                       "length": 8,
+                       "name": "ESSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Spd.Snsor1.Timing.Pattern.Status" : {
+                                       "generic_name": "Eng.Spd.Snsor1.Timing.Pattern.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the timing pattern status of the engine speed sensor signal for sensor 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOK": [0],
+                                               "OK": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Spd.Snsor2.Timing.Pattern.Status" : {
+                                       "generic_name": "Eng.Spd.Snsor2.Timing.Pattern.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the timing pattern status of the engine speed sensor signal for sensor 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOK": [0],
+                                               "OK": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Spd.Snsor3.Timing.Pattern.Status" : {
+                                       "generic_name": "Eng.Spd.Snsor3.Timing.Pattern.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This is the timing pattern status of the engine speed sensor signal for sensor 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotOK": [0],
+                                               "OK": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Eng.Speed3" : {
+                                       "generic_name": "Eng.Speed3",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The engine speed as measured by speed sensor 3.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed2" : {
+                                       "generic_name": "Eng.Speed2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The engine speed as measured by speed sensor 2",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed1" : {
+                                       "generic_name": "Eng.Speed1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "The engine speed as measured by speed sensor 1.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64850": {
+                       "comment": "Engine Coolant Control Valve Command",
+                       "length": 8,
+                       "name": "ECCVC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsrd.Eng.Coolant.Thermostat.Opening" : {
+                                       "generic_name": "Dsrd.Eng.Coolant.Thermostat.Opening",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Indicates the desired position of the engine coolant control valve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Desired.Eng.Coolant.Pump.Outlet.Temp" : {
+                                       "generic_name": "Desired.Eng.Coolant.Pump.Outlet.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Desired engine coolant temperature of the engine to an electronic thermostat.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Thermostat.Mode" : {
+                                       "generic_name": "Eng.Coolant.Thermostat.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Specifies if the engine coolant thermostat valve will operate in temperature control mode or position control mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TempCtrlMode": [0],
+                                               "PosCtrlMode": [1],
+                                               "Reserved": [2],
+                                               "DontCare_Reserved": [3]
+                                       }
+                               }
+                       }
+               },
+               "40190": {
+                       "comment": "Auxiliary Input/Output Status 7",
+                       "length": 8,
+                       "name": "AUXIO7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.I_.OChannel19" : {
+                                       "generic_name": "Aux.I_.OChannel19",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel20" : {
+                                       "generic_name": "Aux.I_.OChannel20",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel21" : {
+                                       "generic_name": "Aux.I_.OChannel21",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel22" : {
+                                       "generic_name": "Aux.I_.OChannel22",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel15" : {
+                                       "generic_name": "Aux.I_.OChannel15",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel16" : {
+                                       "generic_name": "Aux.I_.OChannel16",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel17" : {
+                                       "generic_name": "Aux.I_.OChannel17",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel18" : {
+                                       "generic_name": "Aux.I_.OChannel18",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "40446": {
+                       "comment": "Auxiliary Input/Output Status 6",
+                       "length": 8,
+                       "name": "AUXIO6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.I_.OChannel11" : {
+                                       "generic_name": "Aux.I_.OChannel11",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel12" : {
+                                       "generic_name": "Aux.I_.OChannel12",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel13" : {
+                                       "generic_name": "Aux.I_.OChannel13",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel14" : {
+                                       "generic_name": "Aux.I_.OChannel14",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel7" : {
+                                       "generic_name": "Aux.I_.OChannel7",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel8" : {
+                                       "generic_name": "Aux.I_.OChannel8",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel9" : {
+                                       "generic_name": "Aux.I_.OChannel9",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel10" : {
+                                       "generic_name": "Aux.I_.OChannel10",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "2302": {
+                       "comment": "Auxiliary Input/Output Status 5",
+                       "length": 8,
+                       "name": "AUXIO5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.I_.OChannel3" : {
+                                       "generic_name": "Aux.I_.OChannel3",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel4" : {
+                                       "generic_name": "Aux.I_.OChannel4",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel5" : {
+                                       "generic_name": "Aux.I_.OChannel5",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel6" : {
+                                       "generic_name": "Aux.I_.OChannel6",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Identifies the current value of auxiliary input/output channels that are configured uniquely per application.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64927": {
+                       "comment": "Aftertreatment 1 Air Control 1",
+                       "length": 8,
+                       "name": "AT1AC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtreatment1.Air.Enable.Actuator" : {
+                                       "generic_name": "Aftrtreatment1.Air.Enable.Actuator",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 air enable actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Purge.Air.Actuator" : {
+                                       "generic_name": "Aftertreatment1.Purge.Air.Actuator",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 purge air actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Atmzation.Air.Actuator" : {
+                                       "generic_name": "Aftrtrtmnt1.Atmzation.Air.Actuator",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 atomization air actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Air.System.Relay" : {
+                                       "generic_name": "Aftertreatment1.Air.System.Relay",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 air system relay is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtment1.Air.Press.Actuator.Pos" : {
+                                       "generic_name": "Aftrtrtment1.Air.Press.Actuator.Pos",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the aftertreatment 1 air pressure actuator as measured by a position feedback sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Air.Press.Ctrl" : {
+                                       "generic_name": "Aftertreatment1.Air.Press.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Position that the controller is commanding the aftertreatment 1 air pressure control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Purge.Air.Press" : {
+                                       "generic_name": "Aftertreatment1.Purge.Air.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the purge air supply for aftertreatment 1",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Supply.Air.Press" : {
+                                       "generic_name": "Aftertreatment1.Supply.Air.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the supply air for aftertreatment 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64877": {
+                       "comment": "Aftertreatment 1 Air Control 2",
+                       "length": 8,
+                       "name": "AT1AC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftertreatment1.Second.Air.Press" : {
+                                       "generic_name": "Aftertreatment1.Second.Air.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the secondary air for aftertreatment 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtreatment1.Second.Air.Mass.Flow" : {
+                                       "generic_name": "Aftrtreatment1.Second.Air.Mass.Flow",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12851,
+                                       "comment": "Indicates the secondary air mass flow for aftertreatment 1.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Second.Air.Temp" : {
+                                       "generic_name": "Aftertreatment1.Second.Air.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Indicates the secondary air temperature for aftertreatment 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment1.Second.Air.Diff.Press" : {
+                                       "generic_name": "Aftrtratment1.Second.Air.Diff.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Indicates the secondary air differential pressure for aftertreatment 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64929": {
+                       "comment": "Aftertreatment 1 Fuel Control 1",
+                       "length": 8,
+                       "name": "AT1FC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Fl.Injctor1.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Fl.Injctor1.Heater.Ctrl",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Heating level that the controller is commanding the aftertreatment 1 fuel injector 1 heater control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Max": [4]
+                                       }
+                               },
+                               "Aftertreatment1.Fuel.Press1.Ctrl" : {
+                                       "generic_name": "Aftertreatment1.Fuel.Press1.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Position that the controller is commanding the aftertreatment 1 fuel pressure control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment1.Fuel.Enable.Actuator" : {
+                                       "generic_name": "Aftrtratment1.Fuel.Enable.Actuator",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 fuel enable actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtratment1.Regeneration.Status" : {
+                                       "generic_name": "Aftrtratment1.Regeneration.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether regeneration is active or inactive in aftertreatment 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Ignt" : {
+                                       "generic_name": "Aftertreatment1.Ignt",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 ignition circuit is energized by the ECM.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtreatment1.Fuel.Drain.Actuator" : {
+                                       "generic_name": "Aftrtreatment1.Fuel.Drain.Actuator",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 1 fuel drain actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Fuel.Rate" : {
+                                       "generic_name": "Aftertreatment1.Fuel.Rate",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Rate of fuel being delivered to aftertreatment 1 for regeneration",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Fuel.Press1" : {
+                                       "generic_name": "Aftertreatment1.Fuel.Press1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "First fuel pressure measurement for the aftertreatment 1 system",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64869": {
+                       "comment": "Aftertreatment 1 Fuel Control 2",
+                       "length": 8,
+                       "name": "AT1FC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Hydrcrbn.Dsr.Intk.Fl.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Hydrcrbn.Dsr.Intk.Fl.Tmp",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Measured temperature of the intake fuel to the hydrocarbon dosing device",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Fl.Press2.Actuator.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Fl.Press2.Actuator.Ctrl",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 1 fuel pressure 2 regulating control valve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "fullyOpen": [4]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Fl.Flw.Dvrter.Valve.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Fl.Flw.Dvrter.Valve.Ctrl",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 1 fuel flow diverter valve.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtreatment1.Fuel.Pump.Relay.Ctrl" : {
+                                       "generic_name": "Aftrtreatment1.Fuel.Pump.Relay.Ctrl",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates how the device is controlling the aftertreatment 1 fuel pump relay.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "off": [0],
+                                               "on": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Fuel.Press2" : {
+                                       "generic_name": "Aftertreatment1.Fuel.Press2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Second fuel pressure measurement for the aftertreatment 1 system",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64908": {
+                       "comment": "Aftertreatment 1 Gas Parameters",
+                       "length": 8,
+                       "name": "AT1GP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prticulate.Filter.Outlet.Press1" : {
+                                       "generic_name": "Dsl.Prticulate.Filter.Outlet.Press1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "This parameter indicates the diesel particulate filter outlet gage pressure 1 (bank 1).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prticulate.Filter.Intake.Press1" : {
+                                       "generic_name": "Dsl.Prticulate.Filter.Intake.Press1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "This parameter indicates the diesel particulate filter intake gage pressure 1 (bank 1).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64920": {
+                       "comment": "Aftertreatment 1 Historical Information",
+                       "length": 36,
+                       "name": "AT1HI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs",
+                                       "bit_position": 223,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of aftertreatment device 1 active regeneration manual requests by the operator over the lifetime of the",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs",
+                                       "bit_position": 191,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of aftertreatment device 1 active regeneration inhibit requests by the operator over the lifetime of the device.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Avrg.Tm.Btwn.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt1.Avrg.Tm.Btwn.Actv.Rgnrtns",
+                                       "bit_position": 255,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Indicates the average time since last reset between active regenerations, that have not been forced to occur by manual",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Ttl.Nmbr.Of.Pssv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttl.Nmbr.Of.Pssv.Rgnrtns",
+                                       "bit_position": 159,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of passive regenerations by aftertreatment device 1 over the lifetime of the device.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Ttl.Pssv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttl.Pssv.Rgnration.Time",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 1 has been in passive regeneration over the lifetime of the device.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttl.Nmbr.Of.Actv.Rgnrtns",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of active regenerations by aftertreatment device 1 over the lifetime of the device.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtreatment1.Total.Disabled.Time" : {
+                                       "generic_name": "Aftrtreatment1.Total.Disabled.Time",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment 1 regeneration has been manually disabled.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Ttal.Regeneration.Time" : {
+                                       "generic_name": "Aftrtrtmnt1.Ttal.Regeneration.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 1 has been regenerating over the lifetime of the device.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Total.Fuel.Used" : {
+                                       "generic_name": "Aftertreatment1.Total.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total amount of fuel used by aftertreatment device 1 over the lifetime of the device.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61454": {
+                       "comment": "Aftertreatment 1 Intake Gas 1",
+                       "length": 8,
+                       "name": "AT1IG1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Intk.Oxygn.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Oxygn.Snsr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment intake oxygen sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.Snsr.Pwer.Status" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.Snsr.Pwer.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment intake gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the intake exhaust gas sensor, either NOx or O2,",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.NOx.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.NOx.Snsr.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment intake NOx sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Intk.Gs.Snsr.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Gs.Snsr.Heater.Ctrl",
+                                       "bit_position": 44,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOff": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Intk.Wd.Rng.O2.Rdng.Stble" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.Wd.Rng.O2.Rdng.Stble",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the %O2 reading of the aftertreatment intake gas sensor, either NOx or O2, is stable as determined by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Intk.NOx.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt1.Intk.NOx.Reading.Stable",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NOx reading of the aftertreatment intake NOx sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Intke.Gas.Sensor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.Intke.Gas.Sensor.At.Temp",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment intake gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Intake.O2" : {
+                                       "generic_name": "Aftertreatment1.Intake.O2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.000514,
+                                       "offset": -12,
+                                       "min_value": -12,
+                                       "max_value": 21,
+                                       "comment": "The actual oxidation factor (%O2) of the gas within the exhaust stream.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Intake.NOx" : {
+                                       "generic_name": "Aftertreatment1.Intake.NOx",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 3012.75,
+                                       "comment": "The amount of combined NO and NO2 in the exhaust entering the aftertreatment system measured by a NOx sensor at",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64948": {
+                       "comment": "Aftertreatment 1 Intake Gas 2",
+                       "length": 8,
+                       "name": "AT1IG2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Exhst.Gs.Tmp1.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Exhst.Gs.Tmp1.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 1 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Exhaust.Gas.Temp1" : {
+                                       "generic_name": "Aftertreatment1.Exhaust.Gas.Temp1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located farthest upstream in the aftertreatment system in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intk.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the diesel particulate filter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "56574": {
+                       "comment": "Anti-theft Status",
+                       "length": 8,
+                       "name": "ATS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Antitheft.Random.Number" : {
+                                       "generic_name": "Antitheft.Random.Number",
+                                       "bit_position": 7,
+                                       "bit_size": 56,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "A seven byte random numeric code provided by the component in response to an anti-theft request.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Antitheft.Component.Status.States" : {
+                                       "generic_name": "Antitheft.Component.Status.States",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether or not the component can be started.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "UnlckdThsSttIndctsThtCmpnntCnBS": [0],
+                                               "LckdThsSttIndctsThtCmpnntCnNOTB": [1],
+                                               "BlckdThsSttIndctsThtALckUnlckCm": [2],
+                                               "NotDefined": [3]
+                                       }
+                               },
+                               "Antthft.Encryptn.Sd.Prsnt.Indicator" : {
+                                       "generic_name": "Antthft.Encryptn.Sd.Prsnt.Indicator",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the presence of the encryption seed random number.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RandomNumberIsNotPresent": [0],
+                                               "RandomNumberIsPresent": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Antitheft.Modify.Pwd.States" : {
+                                       "generic_name": "Antitheft.Modify.Pwd.States",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate whether a password request was successfully performed, or if the request could not be",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OkThsSttIndctsThtRqWsSccssfllyP": [0],
+                                               "FullofPwds": [1],
+                                               "EmptyOfPwdsThsSttIndctsThtCmpnn": [2],
+                                               "Notvalid": [3]
+                                       }
+                               },
+                               "Antitheft.Pwd.Valid.Indicator" : {
+                                       "generic_name": "Antitheft.Pwd.Valid.Indicator",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the presence of a validated password.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PwdIsNotAValidatedPassword": [0],
+                                               "PwdIsAValidatedPassword": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "56830": {
+                       "comment": "Anti-theft Request",
+                       "length": 8,
+                       "name": "ATR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Antitheft.Password.Representation" : {
+                                       "generic_name": "Antitheft.Password.Representation",
+                                       "bit_position": 7,
+                                       "bit_size": 56,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "This parameter is the seven byte numeric code (i.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Antitheft.Cmd.States" : {
+                                       "generic_name": "Antitheft.Cmd.States",
+                                       "bit_position": 4,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter is used to identify the specific requests being sent to the component.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AddPwdThsSttRprsntsARqTCmpnntTA": [0],
+                                               "DeletePwd": [1],
+                                               "ChngPwdThsSttRprsntsARqTCmpnntT": [2],
+                                               "LockorUnlock": [3],
+                                               "ChckSttsThsSttRprsntsARqTChckTS": [4],
+                                               "Login": [5],
+                                               "111NotDefined": [6]
+                                       }
+                               },
+                               "Antitheft.Desired.Exit.Mode.States" : {
+                                       "generic_name": "Antitheft.Desired.Exit.Mode.States",
+                                       "bit_position": 2,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to specify the desired triggers that are to be used by the component in deciding when to transition",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LckUpnOprtrRqThsSttIsUsdTIndctT": [0],
+                                               "LckWhnKyffThsSttIsUsdTIndctThtC": [1],
+                                               "NotDefined": [2],
+                                               "NtAvlblThsSttIsIndctsThtOptnIsN": [3]
+                                       }
+                               },
+                               "Antthft.Encrypton.Indicator.States" : {
+                                       "generic_name": "Antthft.Encrypton.Indicator.States",
+                                       "bit_position": 0,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is used to indicate if a random number seed is being requested, or if an encrypted password is being",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "EncryptnSdRqThsSttRprsntsARqstT": [0],
+                                               "EncryptdCdPrsntThsSttIsUsdTIndc": [1],
+                                               "NotDefined": [2],
+                                               "NtAvlblThsSttIsUsdTIndctThtARnd": [3]
+                                       }
+                               }
+                       }
+               },
+               "65191": {
+                       "comment": "Alternator Temperature",
+                       "length": 8,
+                       "name": "AT",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Alt.Winding3.Temp" : {
+                                       "generic_name": "Eng.Alt.Winding3.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the windings inside the alternator.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Alt.Winding2.Temp" : {
+                                       "generic_name": "Eng.Alt.Winding2.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the windings inside the alternator.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Alt.Winding1.Temp" : {
+                                       "generic_name": "Eng.Alt.Winding1.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the windings inside the alternator.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Alt.Bearing2.Temp" : {
+                                       "generic_name": "Eng.Alt.Bearing2.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the bearing inside the alternator.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Alt.Bearing1.Temp" : {
+                                       "generic_name": "Eng.Alt.Bearing1.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of the bearing inside the alternator.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "53758": {
+                       "comment": "Air Suspension Control 6",
+                       "length": 8,
+                       "name": "ASC6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Level.Preset.Rear.Axle.Right" : {
+                                       "generic_name": "Level.Preset.Rear.Axle.Right",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Set value for nominal level 'preset level' at the right side of the rear axle.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Level.Preset.Rear.Axle.Left" : {
+                                       "generic_name": "Level.Preset.Rear.Axle.Left",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Set value for nominal level 'preset level' at the left side of the rear axle.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Level.Preset.Front.Axle.Right" : {
+                                       "generic_name": "Level.Preset.Front.Axle.Right",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Set value for nominal level 'preset level' at the right side of the front axle.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Level.Preset.Front.Axle.Left" : {
+                                       "generic_name": "Level.Preset.Front.Axle.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Set value for nominal level 'preset level' at the left side of the front axle.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65111": {
+                       "comment": "Air Suspension Control 5",
+                       "length": 8,
+                       "name": "ASC5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Elctrnc.Shck.Absrbr.Ctrl.Md.Lft_.Tg.Axl" : {
+                                       "generic_name": "Elctrnc.Shck.Absrbr.Ctrl.Md.Lft_.Tg.Axl",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the current mode of operation of the electronic shock absorber control at the lift/tag axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalOperationDampersPassive": [0],
+                                               "NormalOperationDampersActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Elctrnc.Shck.Absrbr.Ctrl.Md.Rear.Axle" : {
+                                       "generic_name": "Elctrnc.Shck.Absrbr.Ctrl.Md.Rear.Axle",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the current mode of operation of the electronic shock absorber control at the rear axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalOperationDampersPassive": [0],
+                                               "NormalOperationDampersActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Elctrnc.Shck.Absrbr.Ctrl.Md.Frnt.Axle" : {
+                                       "generic_name": "Elctrnc.Shck.Absrbr.Ctrl.Md.Frnt.Axle",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the current mode of operation of the electronic shock absorber control at the front axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NormalOperationDampersPassive": [0],
+                                               "NormalOperationDampersActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Damper.Stiffness.Lift_.Tag.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Lift_.Tag.Axle",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Damper stiffness information of the shock absorber control at the lift of tag axle",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Damper.Stiffness.Rear.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Rear.Axle",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Damper stiffness information of the shock absorber control at the rear axle",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Damper.Stiffness.Front.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Front.Axle",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Damper stiffness information of the shock absorber control at the front axle",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "42238": {
+                       "comment": "This message conveys the scaled test results for the applicable test requested in DM7.",
+                       "length": 12,
+                       "name": "DM30",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Test.Limit.Minimum" : {
+                                       "generic_name": "Test.Limit.Minimum",
+                                       "bit_position": 79,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The test value must be greater than or equal to Test Limit Minimum in order for the test to pass",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Limit.Maximum" : {
+                                       "generic_name": "Test.Limit.Maximum",
+                                       "bit_position": 63,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The test value must be less than or equal to Test Limit Maximum in order for the test to pass.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Value" : {
+                                       "generic_name": "Test.Value",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The test value collected during the test.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Slot.Id" : {
+                                       "generic_name": "Slot.Id",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The SLOT Identifer is used to determine the multiplier and offset to be used to scale the test value.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Identifier" : {
+                                       "generic_name": "Test.Identifier",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Test Identifier",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Failure.Mode.Identifier1" : {
+                                       "generic_name": "Failure.Mode.Identifier1",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "The FMI defines the type of failure detected in the subsystem identified by an SPN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Above normal (most severe)": [0],
+                                               "Below normal (most severe)": [1],
+                                               "Data erratic": [2],
+                                               "Voltage above normal": [3],
+                                               "Voltage below normal": [4],
+                                               "Current below normal": [5],
+                                               "Current above normal": [6],
+                                               "Mechanical system not responding": [7],
+                                               "Abnormal frequency": [8],
+                                               "Abnormal update rate": [9],
+                                               "Abnormal rate of change": [10],
+                                               "Root cause not known": [11],
+                                               "Bad intelligent device": [12],
+                                               "Out of calibration": [13],
+                                               "Special intstructions": [14],
+                                               "Above normal (least severe)": [15],
+                                               "Above normal (moderately severe)": [16],
+                                               "Below normal (least severe)": [17],
+                                               "Below normal (moderately severe)": [18],
+                                               "Received network data in error": [19],
+                                               "Not available": [31]
+                                       }
+                               },
+                               "S.PN1.High" : {
+                                       "generic_name": "S.PN1.High",
+                                       "bit_position": 28,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "SPN1" : {
+                                       "generic_name": "SPN1",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65536,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64946": {
+                       "comment": "Aftertreatment 1 Intermediate Gas",
+                       "length": 8,
+                       "name": "AT1IMG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter intermediate gas temperature sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts at a mid-point in the diesel particulate filter in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Dlt.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Dlt.Prss.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a diesel particulate filter in exhaust bank 1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Exhst.Gs.Tmp2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Exhst.Gs.Tmp2.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 2 sensor by the manufacturer's sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Exhaust.Gas.Temp2" : {
+                                       "generic_name": "Aftertreatment1.Exhaust.Gas.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located midstream of the other two temperature sensors in the",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61455": {
+                       "comment": "Aftertreatment 1 Outlet Gas 1",
+                       "length": 8,
+                       "name": "AT1OG1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Otlt.Oxygn.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Oxygn.Snsr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet oxygen sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.Snsr.Pwer.Status" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.Snsr.Pwer.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment outlet gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the outlet exhaust gas sensor, either NOx or O2, by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.NOx.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NOx.Snsr.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet NOx sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Otlt.Gs.Snsr.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Gs.Snsr.Heater.Ctrl",
+                                       "bit_position": 44,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOff": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Otlt.Wd.Rng.O2.Rdng.Stble" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.Wd.Rng.O2.Rdng.Stble",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the %O2 reading of the aftertreatment outlet gas sensor, either NOx or O2, is stable as determined by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Otlt.NOx.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlt.NOx.Reading.Stable",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NOx reading of the aftertreatment outlet NOx sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Otlet.Gas.Sensor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt1.Otlet.Gas.Sensor.At.Temp",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment outlet gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment1.Outlet.O2" : {
+                                       "generic_name": "Aftertreatment1.Outlet.O2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.000514,
+                                       "offset": -12,
+                                       "min_value": -12,
+                                       "max_value": 21,
+                                       "comment": "The actual oxidation factor (%O2) of the gas within the exhaust stream.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Outlet.NOx" : {
+                                       "generic_name": "Aftertreatment1.Outlet.NOx",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 3012.75,
+                                       "comment": "The amount of combined NO and NO2 in the exhaust entering the aftertreatment system measured by a NOx sensor at",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64947": {
+                       "comment": "Aftertreatment 1 Outlet Gas 2",
+                       "length": 8,
+                       "name": "AT1OG2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the diesel particulate filter exhaust in exhaust bank 1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Otlt.Exhst.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.Otlt.Exhst.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Exhst.Gs.Tmp3.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt1.Exhst.Gs.Tmp3.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 3 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Exhaust.Gas.Temp3" : {
+                                       "generic_name": "Aftertreatment1.Exhaust.Gas.Temp3",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located farthest downstream in the aftertreatment system in",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64891": {
+                       "comment": "Aftertreatment 1 Service",
+                       "length": 8,
+                       "name": "AT1S",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclte.Filter1.Ash.Load.Percent" : {
+                                       "generic_name": "Dsl.Prtclte.Filter1.Ash.Load.Percent",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Indicates the ash load percent of diesel particulate filter 1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LevelIsTargetAshServiceInterval": [4]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr1.Tm.Snc.Lst.Actv.Rgnrtn" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr1.Tm.Snc.Lst.Actv.Rgnrtn",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Indicates the time since the last active regeneration event of diesel particulate filter 1.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Filter1.Soot.Load.Percent" : {
+                                       "generic_name": "Dsl.Prtclt.Filter1.Soot.Load.Percent",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Indicates the soot load percent of diesel particulate filter 1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LvlIsActvRgnerationTriggerLevel": [4]
+                                       }
+                               },
+                               "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Ld.Rgnrtn.Thrshld" : {
+                                       "generic_name": "Aftrtrtmnt1.Dsl.Prtclt.Fltr.St.Ld.Rgnrtn.Thrshld",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "This parameter indicates the value that will first cause DPF regeneration in aftertreatment 1.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IsLvlAtWhchActvDslPrtcltFltrRgn": [4]
+                                       }
+                               }
+                       }
+               },
+               "64889": {
+                       "comment": "Aftertreatment 1 Trip Information",
+                       "length": 32,
+                       "name": "AT1TI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs",
+                                       "bit_position": 223,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of Aftertreatment device 1 active regeneration manual requests by the operator during the current trip",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs",
+                                       "bit_position": 191,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of aftertreatment device 1 active regeneration inhibit requests by the operator during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Trp.Nmbr.Of.Pssv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Nmbr.Of.Pssv.Rgnrtns",
+                                       "bit_position": 159,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of passive regenerations by Aftertreatment device 1 during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Trp.Pssv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Pssv.Rgnration.Time",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 1 has been in passive regeneration during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Nmbr.Of.Actv.Rgnrtns",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of active regenerations by Aftertreatment device 1 during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Trip.Disabled.Time" : {
+                                       "generic_name": "Aftertreatment1.Trip.Disabled.Time",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment 1 regeneration has been manually disabled during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt1.Trp.Actv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt1.Trp.Actv.Rgnration.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 1 has been in active regeneration during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment1.Trip.Fuel.Used" : {
+                                       "generic_name": "Aftertreatment1.Trip.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total amount of fuel used by aftertreatment device 1 during the current trip period.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64926": {
+                       "comment": "Aftertreatment 2 Air Control 1",
+                       "length": 8,
+                       "name": "AT2AC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtreatment2.Air.Enable.Actuator" : {
+                                       "generic_name": "Aftrtreatment2.Air.Enable.Actuator",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 air enable actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Purge.Air.Actuator" : {
+                                       "generic_name": "Aftertreatment2.Purge.Air.Actuator",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 purge air actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Atmzation.Air.Actuator" : {
+                                       "generic_name": "Aftrtrtmnt2.Atmzation.Air.Actuator",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 atomization air actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Air.System.Relay" : {
+                                       "generic_name": "Aftertreatment2.Air.System.Relay",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 air system relay is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtment2.Air.Press.Actuator.Pos" : {
+                                       "generic_name": "Aftrtrtment2.Air.Press.Actuator.Pos",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Position of the aftertreatment 2 air pressure actuator as measured by a position feedback sensor.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Air.Press.Ctrl" : {
+                                       "generic_name": "Aftertreatment2.Air.Press.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Position that the controller is commanding the aftertreatment 2 air pressure control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Purge.Air.Press" : {
+                                       "generic_name": "Aftertreatment2.Purge.Air.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the purge air supply for aftertreatment 2",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Supply.Air.Press" : {
+                                       "generic_name": "Aftertreatment2.Supply.Air.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the supply air for aftertreatment 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64876": {
+                       "comment": "Aftertreatment 2 Air Control 2",
+                       "length": 8,
+                       "name": "AT2AC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftertreatment2.Second.Air.Press" : {
+                                       "generic_name": "Aftertreatment2.Second.Air.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the secondary air for aftertreatment 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtreatment2.Second.Air.Mass.Flow" : {
+                                       "generic_name": "Aftrtreatment2.Second.Air.Mass.Flow",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 12851,
+                                       "comment": "Indicates the secondary air mass flow for aftertreatment 2.",
+                                       "unit": "kg/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Second.Air.Temp" : {
+                                       "generic_name": "Aftertreatment2.Second.Air.Temp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Indicates the secondary air temperature for aftertreatment 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment2.Second.Air.Diff.Press" : {
+                                       "generic_name": "Aftrtratment2.Second.Air.Diff.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.99,
+                                       "comment": "Indicates the secondary air differential pressure for aftertreatment 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64928": {
+                       "comment": "Aftertreatment 2 Fuel Control 1",
+                       "length": 8,
+                       "name": "AT2FC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Fl.Injctor1.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt2.Fl.Injctor1.Heater.Ctrl",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Heating level that the controller is commanding the aftertreatment 2 fuel injector 1 heater control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Max": [4]
+                                       }
+                               },
+                               "Aftertreatment2.Fuel.Press1.Ctrl" : {
+                                       "generic_name": "Aftertreatment2.Fuel.Press1.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "Position that the controller is commanding the aftertreatment 2 fuel pressure control to maintain.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Fuel.Press1" : {
+                                       "generic_name": "Aftertreatment2.Fuel.Press1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Pressure of the fuel for Aftertreatment 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtratment2.Fuel.Enable.Actuator" : {
+                                       "generic_name": "Aftrtratment2.Fuel.Enable.Actuator",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 fuel enable actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtratment2.Regeneration.Status" : {
+                                       "generic_name": "Aftrtratment2.Regeneration.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether regeneration is active or inactive in aftertreatment 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Ignt" : {
+                                       "generic_name": "Aftertreatment2.Ignt",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 ignition circuit is energized by the ECM.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftrtreatment2.Fuel.Drain.Actuator" : {
+                                       "generic_name": "Aftrtreatment2.Fuel.Drain.Actuator",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether aftertreatment 2 fuel drain actuator is on or off",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "notActive": [0],
+                                               "active": [1],
+                                               "reservedForSAEAssignment": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Fuel.Rate" : {
+                                       "generic_name": "Aftertreatment2.Fuel.Rate",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Rate of fuel being delivered to aftertreatment 2 for regeneration",
+                                       "unit": "L/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64907": {
+                       "comment": "Aftertreatment 2 Gas Parameters",
+                       "length": 8,
+                       "name": "AT2GP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prticulate.Filter.Outlet.Press2" : {
+                                       "generic_name": "Dsl.Prticulate.Filter.Outlet.Press2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "This parameter indicates the diesel particulate filter outlet gage pressure 2 (bank 2).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prticulate.Filter.Intake.Press2" : {
+                                       "generic_name": "Dsl.Prticulate.Filter.Intake.Press2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "This parameter indicates the diesel particulate filter intake gage pressure 2 (bank 2).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64921": {
+                       "comment": "Aftertreatment 2 Historical information",
+                       "length": 36,
+                       "name": "AT2HI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs",
+                                       "bit_position": 223,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of Aftertreatment device 2 active regeneration manual requests by the operator over the lifetime of the",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs",
+                                       "bit_position": 191,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of Aftertreatment device 2 active regeneration inhibit requests by the operator over the lifetime of the",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Avrg.Tm.Btwn.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt2.Avrg.Tm.Btwn.Actv.Rgnrtns",
+                                       "bit_position": 255,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Indicates the average time since last reset between active regenerations, that have not been forced to occur by manual",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Ttl.Nmbr.Of.Pssv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttl.Nmbr.Of.Pssv.Rgnrtns",
+                                       "bit_position": 159,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of passive regenerations by Aftertreatment device 2 over the lifetime of the device.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Ttl.Pssv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttl.Pssv.Rgnration.Time",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that Aftertreatment device 2 has been in passive regeneration over the lifetime of the device.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttl.Nmbr.Of.Actv.Rgnrtns",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of active regenerations by aftertreatment device 2 over the lifetime of the device.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtreatment2.Total.Disabled.Time" : {
+                                       "generic_name": "Aftrtreatment2.Total.Disabled.Time",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment 2 regeneration has been manually disabled.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Ttal.Regeneration.Time" : {
+                                       "generic_name": "Aftrtrtmnt2.Ttal.Regeneration.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 2 has been regenerating over the lifetime of the device.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Total.Fuel.Used" : {
+                                       "generic_name": "Aftertreatment2.Total.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total amount of fuel used by aftertreatment device 2 over the lifetime of the device.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61456": {
+                       "comment": "Aftertreatment 2 Intake Gas 1",
+                       "length": 8,
+                       "name": "AT2IG1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Intk.Oxygn.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Oxygn.Snsr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment intake oxygen sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.Snsr.Pwer.Status" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.Snsr.Pwer.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment intake gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the intake exhaust gas sensor, either NOx or O2,",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.NOx.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.NOx.Snsr.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment intake NOx sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Intk.Gs.Snsr.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Gs.Snsr.Heater.Ctrl",
+                                       "bit_position": 44,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOff": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Intk.Wd.Rng.O2.Rdng.Stble" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.Wd.Rng.O2.Rdng.Stble",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the %O2 reading of the aftertreatment intake gas sensor, either NOx or O2, is stable as determined by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Intk.NOx.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt2.Intk.NOx.Reading.Stable",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NOx reading of the aftertreatment intake NOx sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Intke.Gas.Sensor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.Intke.Gas.Sensor.At.Temp",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment intake gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Intake.O2" : {
+                                       "generic_name": "Aftertreatment2.Intake.O2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.000514,
+                                       "offset": -12,
+                                       "min_value": -12,
+                                       "max_value": 21,
+                                       "comment": "The actual oxidation factor (%O2) of the gas within the exhaust stream.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Intake.NOx" : {
+                                       "generic_name": "Aftertreatment2.Intake.NOx",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 3012.75,
+                                       "comment": "The amount of combined NO and NO2 in the exhaust entering the aftertreatment system measured by a NOx sensor at",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64945": {
+                       "comment": "Aftertreatment 2 Intake Gas 2",
+                       "length": 8,
+                       "name": "AT2IG2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intk.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intk.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter intake gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Exhst.Gs.Tmp1.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Exhst.Gs.Tmp1.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 1 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Exhaust.Gas.Temp1" : {
+                                       "generic_name": "Aftertreatment2.Exhaust.Gas.Temp1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located farthest upstream in the aftertreatment system in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intk.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intk.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts entering the diesel particulate filter in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64943": {
+                       "comment": "Aftertreatment 2 Intermediate Gas",
+                       "length": 8,
+                       "name": "AT2IMG",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 57,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter intermediate gas temperature sensor",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Intrmdt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts at a mid-point in the diesel particulate filter in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Dlt.Prss.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Dlt.Prss.Prlmnry.FMI",
+                                       "bit_position": 52,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter differential pressure sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Dff.Prss" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Dff.Prss",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Exhaust differential pressure measured between the intake and exhaust of a diesel particulate filter in exhaust bank 2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Exhst.Gs.Tmp2.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Exhst.Gs.Tmp2.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 2 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Exhaust.Gas.Temp2" : {
+                                       "generic_name": "Aftertreatment2.Exhaust.Gas.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located midstream of the other two temperature sensors in the",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "61457": {
+                       "comment": "Aftertreatment 2 Outlet Gas 1",
+                       "length": 8,
+                       "name": "AT2OG1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Otlt.Oxygn.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Oxygn.Snsr.Prlmnry.FMI",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet oxygen sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.Snsr.Pwer.Status" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.Snsr.Pwer.Status",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the power supplied to the aftertreatment outlet gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.Snsr.Htr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.Snsr.Htr.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the heater of the outlet exhaust gas sensor, either NOx or O2, by",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.NOx.Snsr.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NOx.Snsr.Prlmnry.FMI",
+                                       "bit_position": 47,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the aftertreatment outlet NOx sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Otlt.Gs.Snsr.Heater.Ctrl" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Gs.Snsr.Heater.Ctrl",
+                                       "bit_position": 44,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the heater status in the warm-up process.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Automatic": [0],
+                                               "Preheat2": [1],
+                                               "Preheat1": [2],
+                                               "HeaterOff": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Otlt.Wd.Rng.O2.Rdng.Stble" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.Wd.Rng.O2.Rdng.Stble",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the %O2 reading of the aftertreatment outlet gas sensor, either NOx or O2, is stable as determined by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Otlt.NOx.Reading.Stable" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlt.NOx.Reading.Stable",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the NOx reading of the aftertreatment outlet NOx sensor is stable as determined by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotStable": [0],
+                                               "Stable": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Otlet.Gas.Sensor.At.Temp" : {
+                                       "generic_name": "Aftrtrtmnt2.Otlet.Gas.Sensor.At.Temp",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates that the heater element of the aftertreatment outlet gas sensor, either NOx or O2, is within the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotInRange": [0],
+                                               "InRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aftertreatment2.Outlet.O2" : {
+                                       "generic_name": "Aftertreatment2.Outlet.O2",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.000514,
+                                       "offset": -12,
+                                       "min_value": -12,
+                                       "max_value": 21,
+                                       "comment": "The actual oxidation factor (%O2) of the gas within the exhaust stream.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Outlet.NOx" : {
+                                       "generic_name": "Aftertreatment2.Outlet.NOx",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 3012.75,
+                                       "comment": "The amount of combined NO and NO2 in the exhaust entering the aftertreatment system measured by a NOx sensor at",
+                                       "unit": "ppm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64944": {
+                       "comment": "Aftertreatment 2 Outlet Gas 2",
+                       "length": 8,
+                       "name": "AT2OG2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Otlt.Gs.Tmp" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Otlt.Gs.Tmp",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of engine combustion byproducts leaving the diesel particulate filter exhaust in exhaust bank 2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Exhst.Gs.Tmp.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.Exhst.Gs.Tmp.Prlmnry.FMI",
+                                       "bit_position": 39,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the diesel particulate filter outlet gas temperature sensor by the",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Exhst.Gs.Tmp3.Prlmnry.FMI" : {
+                                       "generic_name": "Aftrtrtmnt2.Exhst.Gs.Tmp3.Prlmnry.FMI",
+                                       "bit_position": 31,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "Used to identify the applicable J1939-73 FMI detected in the exhaust gas temperature 3 sensor by the manufacturer's",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Exhaust.Gas.Temp3" : {
+                                       "generic_name": "Aftertreatment2.Exhaust.Gas.Temp3",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The reading from the exhaust gas temperature sensor located farthest downstream in the aftertreatment system in",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64890": {
+                       "comment": "Aftertreatment 2 Service",
+                       "length": 8,
+                       "name": "AT2S",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsl.Prtclte.Filter2.Ash.Load.Percent" : {
+                                       "generic_name": "Dsl.Prtclte.Filter2.Ash.Load.Percent",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Indicates the ash load percent of diesel particulate filter 2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LevelIsTargetAshServiceInterval": [4]
+                                       }
+                               },
+                               "Dsl.Prtclt.Fltr2.Tm.Snc.Lst.Actv.Rgnrtn" : {
+                                       "generic_name": "Dsl.Prtclt.Fltr2.Tm.Snc.Lst.Actv.Rgnrtn",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Indicates the time since the last active regeneration event of diesel particulate filter 2.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsl.Prtclt.Filter2.Soot.Load.Percent" : {
+                                       "generic_name": "Dsl.Prtclt.Filter2.Soot.Load.Percent",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Indicates the soot load percent of diesel particulate filter 2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LvlIsActvRgnerationTriggerLevel": [4]
+                                       }
+                               },
+                               "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Ld.Rgnrtn.Thrshld" : {
+                                       "generic_name": "Aftrtrtmnt2.Dsl.Prtclt.Fltr.St.Ld.Rgnrtn.Thrshld",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.0025,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 160.6375,
+                                       "comment": "This parameter indicates the value that will first cause DPF regeneration in aftertreatment 2.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IsLvlAtWhchActvDslPrtcltFltrRgn": [4]
+                                       }
+                               }
+                       }
+               },
+               "64888": {
+                       "comment": "Aftertreatment 2 Trip Information",
+                       "length": 32,
+                       "name": "AT2TI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtn.Mnl.Rqs",
+                                       "bit_position": 223,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of aftertreatment device 2 active regeneration manual requests by the operator during the current trip",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtn.Inhbt.Rqs",
+                                       "bit_position": 191,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of aftertreatment device 2 active regeneration inhibit requests by the operator during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Trp.Nmbr.Of.Pssv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Nmbr.Of.Pssv.Rgnrtns",
+                                       "bit_position": 159,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of passive regenerations by aftertreatment device 2 during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Trp.Pssv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Pssv.Rgnration.Time",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 2 has been in passive regeneration during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtns" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Nmbr.Of.Actv.Rgnrtns",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Total number of active regenerations by aftertreatment device 2 during the current trip period.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Trip.Disabled.Time" : {
+                                       "generic_name": "Aftertreatment2.Trip.Disabled.Time",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment 2 regeneration has been manually disabled during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrtrtmnt2.Trp.Actv.Rgnration.Time" : {
+                                       "generic_name": "Aftrtrtmnt2.Trp.Actv.Rgnration.Time",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "Total amount of time that aftertreatment device 2 has been in active regeneration during the current trip period.",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftertreatment2.Trip.Fuel.Used" : {
+                                       "generic_name": "Aftertreatment2.Trip.Fuel.Used",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2105540607.5,
+                                       "comment": "Total amount of fuel used by aftertreatment device 2 during the current trip period.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64914": {
+                       "comment": "Engine Operating Information",
+                       "length": 8,
+                       "name": "EOI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Derate.Rq" : {
+                                       "generic_name": "Eng.Derate.Rq",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This parameter is a derate request made from the engine control system to an external system, where the engine is",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Emergency.Shutdown.Indication" : {
+                                       "generic_name": "Eng.Emergency.Shutdown.Indication",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A signal issued by the engine control system to a user or external system indicating that it is immediately shutting the engine",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Ctrlled.Shutdown.Rq" : {
+                                       "generic_name": "Eng.Ctrlled.Shutdown.Rq",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A signal issued by the engine control system to a user or external system requesting for a controlled shutdown.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Coolant.Circulating.Pump.Ctrl" : {
+                                       "generic_name": "Eng.Coolant.Circulating.Pump.Ctrl",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for an electrically actuated engine coolant circulating pump.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Block_.Coolant.Preheater.Ctrl" : {
+                                       "generic_name": "Eng.Block_.Coolant.Preheater.Ctrl",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for an electrically actuated engine block or coolant pre-heating device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Eng.Elctrcl.Systm.Pwr.Cnsrvtion.Ctrl" : {
+                                       "generic_name": "Eng.Elctrcl.Systm.Pwr.Cnsrvtion.Ctrl",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for cutting power to various devices when the engine is not in use.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Eng.Oil.Preheater.Ctrl" : {
+                                       "generic_name": "Eng.Oil.Preheater.Ctrl",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for an electrically actuated oil pre-heating device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Oil.Priming.Pump.Ctrl" : {
+                                       "generic_name": "Eng.Oil.Priming.Pump.Ctrl",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This control is used to activate a pump that lubricates the engine, particularly prior to initial engine startup.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Shutoff.Valve.Leak.Test.Ctrl" : {
+                                       "generic_name": "Eng.Fuel.Shutoff.Valve.Leak.Test.Ctrl",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for fuel shutoff valve proving system test.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Shutoff2.Ctrl" : {
+                                       "generic_name": "Eng.Fuel.Shutoff2.Ctrl",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for fuel shutoff 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Open": [0],
+                                               "Closed": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Shutoff1.Ctrl" : {
+                                       "generic_name": "Eng.Fuel.Shutoff1.Ctrl",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for fuel shutoff 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Open": [0],
+                                               "Closed": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Eng.Fuel.Shutoff.Vent.Ctrl" : {
+                                       "generic_name": "Eng.Fuel.Shutoff.Vent.Ctrl",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Control setting for a fuel shutoff vent.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Closed": [0],
+                                               "Open": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Tme.Remaining.In.Eng.Operating.State" : {
+                                       "generic_name": "Tme.Remaining.In.Eng.Operating.State",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "This parameter is used to indicate the time remaining in the current engine operating state, based on the state defined in",
+                                       "unit": "s",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fuel.Pump.Primer.Ctrl" : {
+                                       "generic_name": "Fuel.Pump.Primer.Ctrl",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Parameter used to activate or deactivate a priming system on the fuel transfer system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "Unavailable": [3]
+                                       }
+                               },
+                               "Eng.Operating.State" : {
+                                       "generic_name": "Eng.Operating.State",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter is used to indicate the current state, or mode, of operation by the engine.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64870": {
+                       "comment": "Engine Temperature 4",
+                       "length": 8,
+                       "name": "ET4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhst.Vlv.Acttion.System.Oil.Temp" : {
+                                       "generic_name": "Eng.Exhst.Vlv.Acttion.System.Oil.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The temperature of the oil in the hydraulic system that powers the engine exhaust valve actuation system",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhst.Gs.Rcrcltn1.Mxr.Intake.Temp" : {
+                                       "generic_name": "Eng.Exhst.Gs.Rcrcltn1.Mxr.Intake.Temp",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The temperature of the EGR gas entering the intake mixer, measured after the intake throttle when provided.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Thermostat.Opening" : {
+                                       "generic_name": "Eng.Coolant.Thermostat.Opening",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The current position of the Thermostat used to regulate the temperature of the engine coolant.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Pump.Outlet.Temp" : {
+                                       "generic_name": "Eng.Coolant.Pump.Outlet.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "The actual value of engine coolant temperature at the coolant pump outlet",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Coolant.Temp2" : {
+                                       "generic_name": "Eng.Coolant.Temp2",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Second temperature of liquid found in the engine cooling system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64872": {
+                       "comment": "Gross Combination Vehicle Weight",
+                       "length": 8,
+                       "name": "GCVW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Net.Vehicle.Weight.Change" : {
+                                       "generic_name": "Net.Vehicle.Weight.Change",
+                                       "bit_position": 23,
+                                       "bit_size": 24,
+                                       "factor": 2,
+                                       "offset": -16449535,
+                                       "min_value": -16449535,
+                                       "max_value": 16449535,
+                                       "comment": "Identifies the net vehicle weight change from the time of last vehicle net weight zeroing.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gross.Combination.Weight" : {
+                                       "generic_name": "Gross.Combination.Weight",
+                                       "bit_position": -1,
+                                       "bit_size": 24,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32899070,
+                                       "comment": "Total weight of the truck and all the trailers with on-board scales.",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "2046": {
+                       "comment": "General Purpose Valve Pressure",
+                       "length": 8,
+                       "name": "GPV4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Valve.Assembly.Supply.Press" : {
+                                       "generic_name": "Valve.Assembly.Supply.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 321275,
+                                       "comment": "Pressure of the hydraulic supply port to a valve assembly.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Valve.Assembly.Load.Sense.Press" : {
+                                       "generic_name": "Valve.Assembly.Load.Sense.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 321275,
+                                       "comment": "The maximum pressure of a valve assembly's current collective load sense pressures where a valve assembly can",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Valve.Pilot.Press" : {
+                                       "generic_name": "Valve.Pilot.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Pressure of a valve's pilot supply port.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Valve.Load.Sense.Press" : {
+                                       "generic_name": "Valve.Load.Sense.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 321275,
+                                       "comment": "The maximum of the currently measured pressures of a valve's work port A and work port B.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65112": {
+                       "comment": "Air Suspension Control 4",
+                       "length": 8,
+                       "name": "ASC4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bellow.Press.Rear.Axle.Right" : {
+                                       "generic_name": "Bellow.Press.Rear.Axle.Right",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Information of the pressure of the air suspension bellow at the right side of the rear axle",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bellow.Press.Rear.Axle.Left" : {
+                                       "generic_name": "Bellow.Press.Rear.Axle.Left",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Information of the pressure of the air suspension bellow at the left side of the rear axle",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bellow.Press.Front.Axle.Right" : {
+                                       "generic_name": "Bellow.Press.Front.Axle.Right",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Information of the pressure of the air suspension bellow at the right side of the front axle",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bellow.Press.Front.Axle.Left" : {
+                                       "generic_name": "Bellow.Press.Front.Axle.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Information of the pressure of the air suspension bellow at the left side of the front axle",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65113": {
+                       "comment": "Air Suspension Control 3",
+                       "length": 8,
+                       "name": "ASC3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Relative.Level.Rear.Axle.Right" : {
+                                       "generic_name": "Relative.Level.Rear.Axle.Right",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Information of the height at the left side of the rear axle referred to normal level 1.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Level.Rear.Axle.Left" : {
+                                       "generic_name": "Relative.Level.Rear.Axle.Left",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Information of the height at the left side of the rear axle referred to normal level 1.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Level.Front.Axle.Right" : {
+                                       "generic_name": "Relative.Level.Front.Axle.Right",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Information of the height at the right side of the front axle referred to normal level 1.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Relative.Level.Front.Axle.Left" : {
+                                       "generic_name": "Relative.Level.Front.Axle.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": -3200,
+                                       "min_value": -3200,
+                                       "max_value": 3225.5,
+                                       "comment": "Information of the height at the left side of the front axle referred to normal level 1.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "54014": {
+                       "comment": "Air Suspension Control 2",
+                       "length": 8,
+                       "name": "ASC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Speed.Dependent.Level.Ctrl.Rq" : {
+                                       "generic_name": "Speed.Dependent.Level.Ctrl.Rq",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter activates speed dependent level control in suspension system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Prhbt.Automatic.Air.Suspension.Ctrl" : {
+                                       "generic_name": "Prhbt.Automatic.Air.Suspension.Ctrl",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "[Ed note - description needs to be reviewed and adjusted as necessary]",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NRq01RqstPrhbtdAtmtcArSspnsnCtr": [0],
+                                               "RqPrhbtAtmaticAirSuspensionCtrl": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Memory.Level.Rq" : {
+                                       "generic_name": "Memory.Level.Rq",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates that the air suspension control requests a memory level or a memory level shall be stored.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoMemoryLevelRq": [0],
+                                               "MemoryLevel1Rq": [1],
+                                               "MemoryLevel2Rq": [2],
+                                               "MemoryLevel3Rq": [3],
+                                               "MemoryLevel4Rq": [4],
+                                               "MemoryLevel5Rq": [5],
+                                               "StoreMemoryLevel1": [9],
+                                               "StoreMemoryLevel2": [10],
+                                               "StoreMemoryLevel3": [11],
+                                               "StoreMemoryLevel4": [12],
+                                               "StoreMemoryLevel5": [13],
+                                               "Reserved": [14],
+                                               "DontCare": [15]
+                                       }
+                               },
+                               "Allow.Level.Ctrl.During.Braking.Cmd" : {
+                                       "generic_name": "Allow.Level.Ctrl.During.Braking.Cmd",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter overides the inhibit of level control during braking.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisallowLevelCtrlDuringBraking": [0],
+                                               "AllowLevelCtrlDuringBraking": [1],
+                                               "Reserved": [2],
+                                               "DonTCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Prohibit.Air.Suspension.Ctrl" : {
+                                       "generic_name": "Prohibit.Air.Suspension.Ctrl",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter is an external request to the air suspension control system to prohibit all air suspension control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoRq": [0],
+                                               "RqProhibitAirSuspensionCtrl": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Kneeling.Cmd.Rear.Axle" : {
+                                       "generic_name": "Kneeling.Cmd.Rear.Axle",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate the kneeling functionality at the rear axle of the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DeactivateKneeling": [0],
+                                               "ActivateKneeling": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Kneeling.Cmd.Front.Axle" : {
+                                       "generic_name": "Kneeling.Cmd.Front.Axle",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate the kneeling functionality at the front axle of the vehicle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DeactivateKneeling": [0],
+                                               "ActivateKneeling": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Damper.Stiffness.Rq.Lift_.Tag.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Rq.Lift_.Tag.Axle",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Demand value for the shock absorber control at the lift or tag axle",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Damper.Stiffness.Rq.Rear.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Rq.Rear.Axle",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Demand value for the shock absorber control at the rear axle.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Damper.Stiffness.Rq.Front.Axle" : {
+                                       "generic_name": "Damper.Stiffness.Rq.Front.Axle",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Demand value for the shock absorber control at the front axle.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Level.Ctrl.Mode.Rq" : {
+                                       "generic_name": "Level.Ctrl.Mode.Rq",
+                                       "bit_position": 15,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Command signal to activate a level control mode",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NrmlOprtnISystmPrfrmsAPrCtrlOfT": [0],
+                                               "TrctnHlpIDrvnAxlIsLddTAMxVlGvnB": [1],
+                                               "LdFxngIDrvnAxlIsLddTAVlDfndByTh": [2],
+                                               "PrssRt1IRtBtwnThPrssrsAtThDrvnA": [3],
+                                               "PrssRt2IRtBtwnThPrssrsAtThDrvnA": [4],
+                                               "OptmmTrctn1IPrssAtThDrvnAxlIsCt": [5],
+                                               "OptmmTrctn2IPrssAtThDrvnAxlIsCt": [6],
+                                               "TractionHelpLoadReduce": [7],
+                                               "ExhaustBellows": [8],
+                                               "1101NotDefined": [9],
+                                               "Reserved": [14],
+                                               "DontCare_TakeNoAction": [15]
+                                       }
+                               },
+                               "Nominal.Level.Rq.Rear.Axle" : {
+                                       "generic_name": "Nominal.Level.Rq.Rear.Axle",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Command signal to activate a level of the rear axle programmed and/or memorized in the ECU.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoLevelRq": [0],
+                                               "NormalLevel1": [1],
+                                               "NormalLevel2": [2],
+                                               "NormalLevel3": [3],
+                                               "PresetLevel": [4],
+                                               "CustomerLevel": [5],
+                                               "UpperLevel": [6],
+                                               "LowerLevel": [7],
+                                               "StopLevelChange": [8],
+                                               "RaiseRq": [9],
+                                               "LowerRq": [10],
+                                               "1101NotDefined": [11],
+                                               "Reserved": [14],
+                                               "DontCare_TakeNoAction": [15]
+                                       }
+                               },
+                               "Nominal.Level.Rq.Front.Axle" : {
+                                       "generic_name": "Nominal.Level.Rq.Front.Axle",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Command signal to activate a level of the front axle programmed and/or memorized in the ECU For explanations of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoLevelRq": [0],
+                                               "NormalLevel1": [1],
+                                               "NormalLevel2": [2],
+                                               "NormalLevel3": [3],
+                                               "PresetLevel": [4],
+                                               "CustomerLevel": [5],
+                                               "UpperLevel": [6],
+                                               "LowerLevel": [7],
+                                               "StopLevelChange": [8],
+                                               "RaiseRq": [9],
+                                               "LowerRq": [10],
+                                               "1101NotDefined": [11],
+                                               "Reserved": [14],
+                                               "DontCare_TakeNoAction": [15]
+                                       }
+                               },
+                               "Kneeling.Ctrl.Mode.Rq" : {
+                                       "generic_name": "Kneeling.Ctrl.Mode.Rq",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to select the kneeling functionality",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AutomaticallyActuated": [0],
+                                               "ManuallyActuated": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Kneeling.Rq.Right.Side" : {
+                                       "generic_name": "Kneeling.Rq.Right.Side",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate the kneeling functionality on the right side of the vehicle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoKneelingRq": [0],
+                                               "KneelingRq": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Kneeling.Rq.Left.Side" : {
+                                       "generic_name": "Kneeling.Rq.Left.Side",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Command signal to activate the kneeling functionality on the left side of the vehicle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoKneelingRq": [0],
+                                               "KneelingRq": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Automatic.Traction.Help" : {
+                                       "generic_name": "Automatic.Traction.Help",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This signal enables the traction help (load transfer) in case of an active ASR function",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DisableAutomaticTractionHelp": [0],
+                                               "EnableAutomaticTractionHelp": [1],
+                                               "Reserved": [2],
+                                               "DontCare": [3]
+                                       }
+                               },
+                               "Lift.Axle2.Pos.Cmd" : {
+                                       "generic_name": "Lift.Axle2.Pos.Cmd",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal to command the position / load condition of lift / tag axle #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Lift.Axle1.Pos.Cmd" : {
+                                       "generic_name": "Lift.Axle1.Pos.Cmd",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal to command the position/load condition of lift/tag axle #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Reserved": [2],
+                                               "DontCare_TakeNoAction": [3]
+                                       }
+                               }
+                       }
+               },
+               "65114": {
+                       "comment": "Air Suspension Control 1",
+                       "length": 8,
+                       "name": "ASC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Speed.Dependant.Level.Ctrl.Status" : {
+                                       "generic_name": "Speed.Dependant.Level.Ctrl.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates if the function Speed Dependant Level Control is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Inactive": [0],
+                                               "Active": [1],
+                                               "Reserved": [2],
+                                               "DonTCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Memory.Level" : {
+                                       "generic_name": "Memory.Level",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates that the air suspension control has memory levels selected or stored.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoMemoryLevel": [0],
+                                               "MemoryLevel1Selected": [1],
+                                               "MemoryLevel2Selected": [2],
+                                               "MemoryLevel3Selected": [3],
+                                               "MemoryLevel4Selected": [4],
+                                               "MemoryLevel5Selected": [5],
+                                               "Reserved": [8],
+                                               "MemoryLevel1Stored": [9],
+                                               "MemoryLevel2Stored": [10],
+                                               "MemoryLevel3Stored": [11],
+                                               "MemoryLevel4Stored": [12],
+                                               "MemoryLevel5Stored": [13],
+                                               "ErrorIndicator": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Allw.Lvel.Ctrl.During.Braking.Status" : {
+                                       "generic_name": "Allw.Lvel.Ctrl.During.Braking.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates if the function Allow Level Control During Braking is active.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Deactivate": [0],
+                                               "Activate": [1],
+                                               "Reserved": [2],
+                                               "DonTCare_TakeNoAction": [3]
+                                       }
+                               },
+                               "Sspension.Ctrl.Refusal.Information" : {
+                                       "generic_name": "Sspension.Ctrl.Refusal.Information",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates that the air suspension control cannot perform a request due to the operating conditions.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ActualRqNotRefused": [0],
+                                               "AxleLoadLimitReached": [1],
+                                               "WouldExceedAxleLoadLimit": [2],
+                                               "BogieDiffNotLocked": [3],
+                                               "AboveSpeedLimit": [4],
+                                               "BelowSpeedLimit": [5],
+                                               "GnrlRjctINSpcifiedReasonApplies": [6],
+                                               "RqedLevelNotAvailable": [7],
+                                               "1101NotDefined": [8],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Suspension.Remote.Ctrl2" : {
+                                       "generic_name": "Suspension.Remote.Ctrl2",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the suspension system is controlled by remote control #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Suspension.Remote.Ctrl1" : {
+                                       "generic_name": "Suspension.Remote.Ctrl1",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the suspension system is controlled by remote control #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Rear.Axle.In.Bumper.Range" : {
+                                       "generic_name": "Rear.Axle.In.Bumper.Range",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the vehicle height at the rear axle (SPNs 1723 and 1724) is within the bumper range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ActualLevelOutOfBumperRange": [0],
+                                               "ActualLevelWithinBumperRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Front.Axle.In.Bumper.Range" : {
+                                       "generic_name": "Front.Axle.In.Bumper.Range",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the vehicle height at the front axle (SPNs 1721 and 1722) is within the bumper range.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ActualLevelOutOfBumperRange": [0],
+                                               "ActualLevelWithinBumperRange": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Door.Release" : {
+                                       "generic_name": "Door.Release",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates that the doors may be opened.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DoorsMayNotBeOpened": [0],
+                                               "DoorsMayBeOpened": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vehicle.Motion.Inhibit" : {
+                                       "generic_name": "Vehicle.Motion.Inhibit",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether vehicle motion is inhibited.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VehicleMayBeMoved": [0],
+                                               "VehicleMotionIsInhibited": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Security.Device" : {
+                                       "generic_name": "Security.Device",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "The signal which indicates the status of the security device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "Active": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Level.Ctrl.Mode" : {
+                                       "generic_name": "Level.Ctrl.Mode",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates the actual control mode of the air suspension system",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NrmlOprtnISystmPrfrmsAPrCtrlOfT": [0],
+                                               "TrctnHlpIDrvnAxlIsLddTAMxVlGvnB": [1],
+                                               "LdFxngIDrvnAxlnIsLddTAVlDfndByT": [2],
+                                               "PrssRt1IRtBtwnThPrssrsAtThDrvnA": [3],
+                                               "PrssRt2IRtBtwnThPrssrsAtThDrvnA": [4],
+                                               "OptmmTrctn1IPrssAtThDrvnAxlIsCt": [5],
+                                               "OptmmTrctn2IPrssAtThDrvnAxlIsCt": [6],
+                                               "TractionHelpLoadReduce": [7],
+                                               "ExhstngBllwFnctnIBllwsArExhstdT": [8],
+                                               "AirSuspensionCtrlProhibited": [9],
+                                               "AtmtcArSuspensionCtrlProhibited": [10],
+                                               "1101NotDefined": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Kneeling.Information" : {
+                                       "generic_name": "Kneeling.Information",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates the actual level change in case of kneeling function",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotActive": [0],
+                                               "KneelingLevelReached": [2],
+                                               "LiftingActive": [3],
+                                               "KneelingAborted": [4],
+                                               "1101NotDefined": [5],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Lifting.Ctrl.Mode.Rear.Axle" : {
+                                       "generic_name": "Lifting.Ctrl.Mode.Rear.Axle",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual lifting level change at the rear axle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftingNotActive": [0],
+                                               "LiftingActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lifting.Ctrl.Mode.Front.Axle" : {
+                                       "generic_name": "Lifting.Ctrl.Mode.Front.Axle",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual lifting level change at the front axle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftingNotActive": [0],
+                                               "LiftingActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lowering.Ctrl.Mode.Rear.Axle" : {
+                                       "generic_name": "Lowering.Ctrl.Mode.Rear.Axle",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual lowering level change at the rear axle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LoweringNotActive": [0],
+                                               "LoweringActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lowering.Ctrl.Mode.Front.Axle" : {
+                                       "generic_name": "Lowering.Ctrl.Mode.Front.Axle",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual lowering level change at the front axle",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LoweringNotActive": [0],
+                                               "LoweringActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Above.Nominal.Level.Rear.Axle" : {
+                                       "generic_name": "Above.Nominal.Level.Rear.Axle",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the actual height of the rear axle is above the nominal (desired) level of the rear axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotAbove": [0],
+                                               "Above": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Above.Nominal.Level.Front.Axle" : {
+                                       "generic_name": "Above.Nominal.Level.Front.Axle",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the actual height of the front axle is above the nominal (desired) level of the front axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotAbove": [0],
+                                               "Above": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Below.Nominal.Level.Rear.Axle" : {
+                                       "generic_name": "Below.Nominal.Level.Rear.Axle",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the actual height of the rear axle is below the nominal (desired) level for the rear axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotBelow": [0],
+                                               "Below": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Below.Nominal.Level.Front.Axle" : {
+                                       "generic_name": "Below.Nominal.Level.Front.Axle",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates whether the actual height of the front axle is below the nominal (desired) level for the front axle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotBelow": [0],
+                                               "Below": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Nominal.Level.Rear.Axle" : {
+                                       "generic_name": "Nominal.Level.Rear.Axle",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates the nominal (desired) height of the rear axle to be controlled by the suspension system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LevelNotSpecified": [0],
+                                               "NormalLevel1": [1],
+                                               "NormalLevel2": [2],
+                                               "NormalLevel3": [3],
+                                               "PresetLevel": [4],
+                                               "CustomerLevel": [5],
+                                               "UpperLevel": [6],
+                                               "LowerLevel": [7],
+                                               "NotDefined": [8],
+                                               "Raising": [9],
+                                               "Lowering": [10],
+                                               "1101NotDefined": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Nominal.Level.Front.Axle" : {
+                                       "generic_name": "Nominal.Level.Front.Axle",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates the nominal (desired) height of the front axle to be controlled by the suspension system.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LevelNotSpecified": [0],
+                                               "NormalLevel1": [1],
+                                               "NormalLevel2": [2],
+                                               "NormalLevel3": [3],
+                                               "PresetLevel": [4],
+                                               "CustomerLevel": [5],
+                                               "UpperLevel": [6],
+                                               "LowerLevel": [7],
+                                               "NotDefined": [8],
+                                               "Raising": [9],
+                                               "Lowering": [10],
+                                               "1101NotDefined": [11],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Lift.Axle2.Pos" : {
+                                       "generic_name": "Lift.Axle2.Pos",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the position / load condition of lift axle / tag axle #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Lift.Axle1.Pos" : {
+                                       "generic_name": "Lift.Axle1.Pos",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the position / load condition of lift axle / tag axle #1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxlePosDown_TagAxleLaden": [0],
+                                               "LiftAxlePosUp_TagAxleUnladen": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65237": {
+                       "comment": "Alternator Information",
+                       "length": 3,
+                       "name": "AS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Alt4.Status" : {
+                                       "generic_name": "Alt4.Status",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Alternator 4 operating status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Alt4NotCharging": [0],
+                                               "Alt4Charging": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Alt3.Status" : {
+                                       "generic_name": "Alt3.Status",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Alternator 3 operating status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Alt3NotCharging": [0],
+                                               "Alt3Charging": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Alt2.Status" : {
+                                       "generic_name": "Alt2.Status",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Alternator 2 operating status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Alt2NotCharging": [0],
+                                               "Alt2Charging": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Alt1.Status" : {
+                                       "generic_name": "Alt1.Status",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Alternator 1 operating status.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Alt1NotCharging": [0],
+                                               "Alt1Charging": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Alt.Speed" : {
+                                       "generic_name": "Alt.Speed",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Actual rotation speed of the alternator.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65143": {
+                       "comment": "Auxiliary Pressures",
+                       "length": 8,
+                       "name": "AP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Aux.Abs.Press.Reading" : {
+                                       "generic_name": "Aux.Abs.Press.Reading",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Identifies the current absolute pressure (relative to 0 pressure) that is configured uniquely per application.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Gage.Press.Reading1" : {
+                                       "generic_name": "Aux.Gage.Press.Reading1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Identifies the current gage pressure (relative to atmosphere) that is configured uniquely per application.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Vacuum.Press.Reading" : {
+                                       "generic_name": "Aux.Vacuum.Press.Reading",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Identifies the current vacuum pressure (relative to atmosphere) that is configured uniquely per application.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64992": {
+                       "comment": "Ambient Conditions 2",
+                       "length": 8,
+                       "name": "AMB2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Specific.Humidity" : {
+                                       "generic_name": "Specific.Humidity",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.01,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 642.55,
+                                       "comment": "Specific humidity of the ambient intake air.",
+                                       "unit": "g/kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Solar.Sensor.Max" : {
+                                       "generic_name": "Solar.Sensor.Max",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This is the maximum value which can be reported by the sensor for the solar intensity.",
+                                       "unit": "mW/cm/cm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Solar.Intensity.Percent" : {
+                                       "generic_name": "Solar.Intensity.Percent",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "This is the solar radiation (power density) falling on the vehicle in percent of the maximum sensor value (SPN 2611).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65232": {
+                       "comment": "Test results for non-continously monitored systems.",
+                       "length": 8,
+                       "name": "DM8",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Test.Limit.Minimum" : {
+                                       "generic_name": "Test.Limit.Minimum",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The threshold which the test value must be above to pass the test.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Limit.Maximum" : {
+                                       "generic_name": "Test.Limit.Maximum",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The threshold which the test value must be below to pass the test.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Value" : {
+                                       "generic_name": "Test.Value",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The test value collected during the test.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Type" : {
+                                       "generic_name": "Test.Type",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 1,
+                                       "max_value": 64,
+                                       "comment": "Identifies the non-continously monitored component identifier that was tested.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Identifier" : {
+                                       "generic_name": "Test.Identifier",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 1,
+                                       "max_value": 64,
+                                       "comment": "Designates the test to be run.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "All scaled test results": [247],
+                                               "Command Standard Test": [249],
+                                               "Last Measured Scaled Results": [250]
+                                       }
+                               }
+                       }
+               },
+               "58366": {
+                       "comment": "Command non-continously monitored test",
+                       "length": 8,
+                       "name": "DM7",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "S.PN1.High" : {
+                                       "generic_name": "S.PN1.High",
+                                       "bit_position": 28,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "SPN1" : {
+                                       "generic_name": "SPN1",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65536,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Test.Identifier" : {
+                                       "generic_name": "Test.Identifier",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 1,
+                                       "max_value": 64,
+                                       "comment": "Designates the test to be run.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "All scaled test results": [247],
+                                               "Command Standard Test": [249],
+                                               "Last Measured Scaled Results": [250]
+                                       }
+                               },
+                               "Failure.Mode.Identifier1" : {
+                                       "generic_name": "Failure.Mode.Identifier1",
+                                       "bit_position": 23,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "The FMI defines the type of failure detected in the subsystem identified by an SPN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Above normal (most severe)": [0],
+                                               "Below normal (most severe)": [1],
+                                               "Data erratic": [2],
+                                               "Voltage above normal": [3],
+                                               "Voltage below normal": [4],
+                                               "Current below normal": [5],
+                                               "Current above normal": [6],
+                                               "Mechanical system not responding": [7],
+                                               "Abnormal frequency": [8],
+                                               "Abnormal update rate": [9],
+                                               "Abnormal rate of change": [10],
+                                               "Root cause not known": [11],
+                                               "Bad intelligent device": [12],
+                                               "Out of calibration": [13],
+                                               "Special intstructions": [14],
+                                               "Above normal (least severe)": [15],
+                                               "Above normal (moderately severe)": [16],
+                                               "Below normal (least severe)": [17],
+                                               "Below normal (moderately severe)": [18],
+                                               "Received network data in error": [19],
+                                               "Not available": [31]
+                                       }
+                               }
+                       }
+               },
+               "65231": {
+                       "comment": "Pending DTCs",
+                       "length": 22,
+                       "name": "DM6",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65230": {
+                       "comment": "Diagnostic readiness 1",
+                       "length": 8,
+                       "name": "DM5",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Boost.Pressure.Control.System.Status" : {
+                                       "generic_name": "Boost.Pressure.Control.System.Status",
+                                       "bit_position": 56,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "Diesel.Particulate.Filter.Status" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Status",
+                                       "bit_position": 57,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "N.Ox.Converting.Catalyst.Adsorber.Status" : {
+                                       "generic_name": "N.Ox.Converting.Catalyst.Adsorber.Status",
+                                       "bit_position": 58,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "N.MHCConverting.Catalyst.Status" : {
+                                       "generic_name": "N.MHCConverting.Catalyst.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "Boost.Pressure.Control.System.Support" : {
+                                       "generic_name": "Boost.Pressure.Control.System.Support",
+                                       "bit_position": 40,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "Diesel.Particulate.Filter.Support" : {
+                                       "generic_name": "Diesel.Particulate.Filter.Support",
+                                       "bit_position": 41,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "N.Ox.Converting.Catalyst.Adsorber.Support" : {
+                                       "generic_name": "N.Ox.Converting.Catalyst.Adsorber.Support",
+                                       "bit_position": 42,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "N.MHCConverting.Catalyst.Support" : {
+                                       "generic_name": "N.MHCConverting.Catalyst.Support",
+                                       "bit_position": 43,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "Misfire.Monitoring.Support" : {
+                                       "generic_name": "Misfire.Monitoring.Support",
+                                       "bit_position": 23,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test not supported": [0],
+                                               "test supported": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "O.BDCompliance" : {
+                                       "generic_name": "O.BDCompliance",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "Identifies the OBD compliance capabilityof the responding controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserver for assignment by SAE": [0],
+                                               "OBD II (California, ARB)": [1],
+                                               "OBD (Federal, EPA)": [2],
+                                               "OBD and OBD II": [3],
+                                               "OBD I": [4],
+                                               "Not intended to meet OBD II req.": [5],
+                                               "EOBD": [6],
+                                               "EOBD and OBD II": [7],
+                                               "EOBD and OBD": [8],
+                                               "EOBD, OBD and OBD II": [9],
+                                               "JOBD": [10],
+                                               "JOBD and OBD II": [11],
+                                               "JOBD and EOBD": [12],
+                                               "JOBD, EOBD and OBD II": [13],
+                                               "Heavy Duty Vehicles (EURO IV) B1": [14],
+                                               "Heavy Duty Vehicles (EURO V) B2": [15],
+                                               "Heavy Duty Vehicles (EURO EEC) C": [16],
+                                               "EMD": [17],
+                                               "EMD+": [18],
+                                               "HD OBD P": [19],
+                                               "HD OBD": [20],
+                                               "WWH OBD": [21],
+                                               "OBD II (California, ARB 07/08)": [22],
+                                               "HD EOBD": [23],
+                                               "OBD-M (SI-SD/I)": [25]
+                                       }
+                               },
+                               "Previously.Active.Trouble.Codes" : {
+                                       "generic_name": "Previously.Active.Trouble.Codes",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "Identifies the number of previously active trouble codes that are present in a specific controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Active.Trouble.Codes" : {
+                                       "generic_name": "Active.Trouble.Codes",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "Identifies the number of active trouble codes that are present in a specific controller.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Second.Air.System.Mon.Status" : {
+                                       "generic_name": "Second.Air.System.Mon.Status",
+                                       "bit_position": 50,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Evaporative.System.Mon.Status" : {
+                                       "generic_name": "Evaporative.System.Mon.Status",
+                                       "bit_position": 49,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "A.CSystem.Refrigerant.Mon.Status" : {
+                                       "generic_name": "A.CSystem.Refrigerant.Mon.Status",
+                                       "bit_position": 51,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Heater.Mon.Status" : {
+                                       "generic_name": "Oxygen.Sensor.Heater.Mon.Status",
+                                       "bit_position": 53,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Mon.Status" : {
+                                       "generic_name": "Oxygen.Sensor.Mon.Status",
+                                       "bit_position": 52,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test complete": [0],
+                                               "test not complete": [1]
+                                       }
+                               },
+                               "E.GRSystem.Monitoring.Status" : {
+                                       "generic_name": "E.GRSystem.Monitoring.Status",
+                                       "bit_position": 54,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Catalyst.Mon.Status" : {
+                                       "generic_name": "Catalyst.Mon.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Cold.Start.Aid.System.Mon.Status" : {
+                                       "generic_name": "Cold.Start.Aid.System.Mon.Status",
+                                       "bit_position": 55,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Heated.Catalyst.Mon.Status" : {
+                                       "generic_name": "Heated.Catalyst.Mon.Status",
+                                       "bit_position": 48,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestComplete": [0],
+                                               "TestNotComplete": [1]
+                                       }
+                               },
+                               "Catalyst.Mon.Supp" : {
+                                       "generic_name": "Catalyst.Mon.Supp",
+                                       "bit_position": 31,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Cold.Start.Aid.System.Mon.Supp" : {
+                                       "generic_name": "Cold.Start.Aid.System.Mon.Supp",
+                                       "bit_position": 39,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Heated.Catalyst.Mon.Supp" : {
+                                       "generic_name": "Heated.Catalyst.Mon.Supp",
+                                       "bit_position": 32,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Evaporative.System.Mon.Supp" : {
+                                       "generic_name": "Evaporative.System.Mon.Supp",
+                                       "bit_position": 33,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Second.Air.System.Mon.Supp" : {
+                                       "generic_name": "Second.Air.System.Mon.Supp",
+                                       "bit_position": 34,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "A.CSystem.Refrigerant.Mon.Supp" : {
+                                       "generic_name": "A.CSystem.Refrigerant.Mon.Supp",
+                                       "bit_position": 35,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Mon.Supp" : {
+                                       "generic_name": "Oxygen.Sensor.Mon.Supp",
+                                       "bit_position": 36,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Oxygen.Sensor.Heater.Mon.Supp" : {
+                                       "generic_name": "Oxygen.Sensor.Heater.Mon.Supp",
+                                       "bit_position": 37,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "E.GRSystem.Monitoring.Supp" : {
+                                       "generic_name": "E.GRSystem.Monitoring.Supp",
+                                       "bit_position": 38,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TestNotSupported": [0],
+                                               "TestSupported": [1]
+                                       }
+                               },
+                               "Misfire.Monitoring.Status" : {
+                                       "generic_name": "Misfire.Monitoring.Status",
+                                       "bit_position": 27,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test complete": [0],
+                                               "test not complete": [1]
+                                       }
+                               },
+                               "Comprehensive.Comp.Mon.Status" : {
+                                       "generic_name": "Comprehensive.Comp.Mon.Status",
+                                       "bit_position": 29,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test complete": [0],
+                                               "test not complete": [1]
+                                       }
+                               },
+                               "Fuel.System.Monitoring.Status" : {
+                                       "generic_name": "Fuel.System.Monitoring.Status",
+                                       "bit_position": 28,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test complete": [0],
+                                               "test not complete": [1]
+                                       }
+                               },
+                               "Comprehensive.Component.Mon.Supp" : {
+                                       "generic_name": "Comprehensive.Component.Mon.Supp",
+                                       "bit_position": 25,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test not supported": [0],
+                                               "test supported": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Fuel.System.Monitoring.Support" : {
+                                       "generic_name": "Fuel.System.Monitoring.Support",
+                                       "bit_position": 24,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "test not supported": [0],
+                                               "test supported": [1]
+                                       }
+                               }
+                       }
+               },
+               "65229": {
+                       "comment": "Freeze frame parameters",
+                       "length": 13,
+                       "name": "DM4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Intake.Manifold1.Press" : {
+                                       "generic_name": "Eng.Intake.Manifold1.Press",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "The gage pressure measurement of the air intake manifold.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Freeze.Frame.Length" : {
+                                       "generic_name": "Freeze.Frame.Length",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The freeze frame length shall be equal to the number of bytes in the required parameters plus the number of bytes in themanufacturer specific parameters.",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Speed" : {
+                                       "generic_name": "Eng.Speed",
+                                       "bit_position": 55,
+                                       "bit_size": 16,
+                                       "factor": 0.125,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided by the number of cylinders.",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Torque.Mode" : {
+                                       "generic_name": "Eng.Torque.Mode",
+                                       "bit_position": 39,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "State signal which indicates which engine torque mode is currently generating, limiting, or controlling the torque.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Low idle governor/no request (de": [0],
+                                               "Accelerator pedal/operator selec": [1],
+                                               "Cruise control": [2],
+                                               "PTO governor": [3],
+                                               "Road speed governor": [4],
+                                               "ASR control": [5],
+                                               "Transmission control": [6],
+                                               "ABS control": [7],
+                                               "Torque limiting": [8],
+                                               "High speed governor": [9],
+                                               "Braking system": [10],
+                                               "Remote accelerator": [11],
+                                               "Not available": [15]
+                                       }
+                               },
+                               "Wheel.Based.Vehicle.Speed" : {
+                                       "generic_name": "Wheel.Based.Vehicle.Speed",
+                                       "bit_position": 87,
+                                       "bit_size": 16,
+                                       "factor": 0.00390625,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250.996,
+                                       "comment": "Speed of the vehicle as calculated from wheel or tailshaft speed.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Percent.Load.At.Current.Speed" : {
+                                       "generic_name": "Eng.Percent.Load.At.Current.Speed",
+                                       "bit_position": 71,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "The ratio of actual engine percent torque (indicated) to maximum indicated torque available at the current engine speed,",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Engine.Coolant.Temperature" : {
+                                       "generic_name": "Engine.Coolant.Temperature",
+                                       "bit_position": 79,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "None",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 7,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65228": {
+                       "comment": "Diagnostic data clear/reset of previously active DTCs.",
+                       "length": 0,
+                       "name": "DM3",
+                       "bus" : "j1939"
+               },
+               "64951": {
+                       "comment": "Expanded freeze frame.",
+                       "length": 13,
+                       "name": "DM25",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Expanded.Freeze.Frame.Length" : {
+                                       "generic_name": "Expanded.Freeze.Frame.Length",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The freeze frame length shall be equal to the number of bytes in the required parameters plus the number of bytes in themanufacturer specific parameters.",
+                                       "unit": "Byte",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 7,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64950": {
+                       "comment": "SPN Support. This message is used to identify those SPNs supported by the product for freeze frames and data stream messages.",
+                       "length": 12,
+                       "name": "DM24",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "S.PNSupported1.High" : {
+                                       "generic_name": "S.PNSupported1.High",
+                                       "bit_position": 20,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupport.Type.STR3" : {
+                                       "generic_name": "S.PNSupport.Type.STR3",
+                                       "bit_position": 81,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInScaledTestResults": [0],
+                                               "SupportedInScaledTestResults": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.STR2" : {
+                                       "generic_name": "S.PNSupport.Type.STR2",
+                                       "bit_position": 80,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInScaledTestResults": [0],
+                                               "SupportedInScaledTestResults": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.EFF3" : {
+                                       "generic_name": "S.PNSupport.Type.EFF3",
+                                       "bit_position": 79,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInExFreezeFrame": [0],
+                                               "SupportedInExFreezeFrame": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.EFF2" : {
+                                       "generic_name": "S.PNSupport.Type.EFF2",
+                                       "bit_position": 47,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInExFreezeFrame": [0],
+                                               "SupportedInExFreezeFrame": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.DS3" : {
+                                       "generic_name": "S.PNSupport.Type.DS3",
+                                       "bit_position": 49,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInDataStream": [0],
+                                               "SupportedInDataStream": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.DS2" : {
+                                       "generic_name": "S.PNSupport.Type.DS2",
+                                       "bit_position": 48,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInDataStream": [0],
+                                               "SupportedInDataStream": [1]
+                                       }
+                               },
+                               "S.PNSupported3.High" : {
+                                       "generic_name": "S.PNSupported3.High",
+                                       "bit_position": 84,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupported2.High" : {
+                                       "generic_name": "S.PNSupported2.High",
+                                       "bit_position": 52,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupported3" : {
+                                       "generic_name": "S.PNSupported3",
+                                       "bit_position": 63,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupported2" : {
+                                       "generic_name": "S.PNSupported2",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNData.Length3" : {
+                                       "generic_name": "S.PNData.Length3",
+                                       "bit_position": 87,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "The number of data bytes associated with the SPN in the Freeze Frame.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupport.Type.STR1" : {
+                                       "generic_name": "S.PNSupport.Type.STR1",
+                                       "bit_position": 17,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInScaledTestResults": [0],
+                                               "SupportedInScaledTestResults": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.DS1" : {
+                                       "generic_name": "S.PNSupport.Type.DS1",
+                                       "bit_position": 16,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInDataStream": [0],
+                                               "SupportedInDataStream": [1]
+                                       }
+                               },
+                               "S.PNSupport.Type.EFF1" : {
+                                       "generic_name": "S.PNSupport.Type.EFF1",
+                                       "bit_position": 15,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "This parameter defines whether the applicable parameter (that is the SPN) is supported in the freeze frame, the data stream or both the freeze frame and data stream.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSupportedInExFreezeFrame": [0],
+                                               "SupportedInExFreezeFrame": [1]
+                                       }
+                               },
+                               "S.PNData.Length2" : {
+                                       "generic_name": "S.PNData.Length2",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "The number of data bytes associated with the SPN in the Freeze Frame.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNData.Length1" : {
+                                       "generic_name": "S.PNData.Length1",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 240,
+                                       "comment": "The number of data bytes associated with the SPN in the Freeze Frame.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNSupported1" : {
+                                       "generic_name": "S.PNSupported1",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "This parameter defines the SPN(s) that is/are supported for the freeze frame and/or data stream information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64949": {
+                       "comment": "Previously active emission related faults.",
+                       "length": 22,
+                       "name": "DM23",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "50174": {
+                       "comment": "Individual Clear/Reset of active and previously active DTC.",
+                       "length": 8,
+                       "name": "DM22",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Individual.DTCClear.Control.Byte" : {
+                                       "generic_name": "Individual.DTCClear.Control.Byte",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Ctrl.Byte.Indic.Individual.DTCClear" : {
+                                       "generic_name": "Ctrl.Byte.Indic.Individual.DTCClear",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "SPN1" : {
+                                       "generic_name": "SPN1",
+                                       "bit_position": 39,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65536,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PN1.High" : {
+                                       "generic_name": "S.PN1.High",
+                                       "bit_position": 60,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "SPN #1 (Conversion Version 4)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Failure.Mode.Identifier1" : {
+                                       "generic_name": "Failure.Mode.Identifier1",
+                                       "bit_position": 55,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "The FMI defines the type of failure detected in the subsystem identified by an SPN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Above normal (most severe)": [0],
+                                               "Below normal (most severe)": [1],
+                                               "Data erratic": [2],
+                                               "Voltage above normal": [3],
+                                               "Voltage below normal": [4],
+                                               "Current below normal": [5],
+                                               "Current above normal": [6],
+                                               "Mechanical system not responding": [7],
+                                               "Abnormal frequency": [8],
+                                               "Abnormal update rate": [9],
+                                               "Abnormal rate of change": [10],
+                                               "Root cause not known": [11],
+                                               "Bad intelligent device": [12],
+                                               "Out of calibration": [13],
+                                               "Special intstructions": [14],
+                                               "Above normal (least severe)": [15],
+                                               "Above normal (moderately severe)": [16],
+                                               "Below normal (least severe)": [17],
+                                               "Below normal (moderately severe)": [18],
+                                               "Received network data in error": [19],
+                                               "Not available": [31]
+                                       }
+                               }
+                       }
+               },
+               "49662": {
+                       "comment": "Diagnostic readiness 2",
+                       "length": 8,
+                       "name": "DM21",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Time.Since.DTCs.Cleared" : {
+                                       "generic_name": "Time.Since.DTCs.Cleared",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Time accumulated since DTCs were cleared (via an external test equipment or possibly, a battery disconnect) (SPN=?).",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Minutes.Run.By.Engine.MILActivated" : {
+                                       "generic_name": "Minutes.Run.By.Engine.MILActivated",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Accumulated count (in minutes) while the MIL is activated (on) (SPN=?).",
+                                       "unit": "mins",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Distance.Since.DTCs.Cleared" : {
+                                       "generic_name": "Distance.Since.DTCs.Cleared",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Distance accumulated since DTCs were cleared (SPN=?).",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Distance.While.MILis.Activated" : {
+                                       "generic_name": "Distance.While.MILis.Activated",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The kilometers accumulated while the MIL is activated (SPN 3060).",
+                                       "unit": "km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "49918": {
+                       "comment": "Monitor Performance Ratio",
+                       "length": 11,
+                       "name": "DM20",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Appl.Sys.Monitor.Denominator" : {
+                                       "generic_name": "Appl.Sys.Monitor.Denominator",
+                                       "bit_position": 71,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The number of times a vehicle has been operated that constitutes a driving cycle where this Applicable System Monitor could be operated per regulatory requirements (SPN 3068).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Appl.Sys.Monitor.Numerator" : {
+                                       "generic_name": "Appl.Sys.Monitor.Numerator",
+                                       "bit_position": 55,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "The number of times a vehicle has been operated such that all conditions necessary for the Applicable System Monitor to detect a malfunction have been encountered (SPN 3067).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "S.PNof.Appl.Sys.Monitor" : {
+                                       "generic_name": "S.PNof.Appl.Sys.Monitor",
+                                       "bit_position": 31,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 524287,
+                                       "comment": "Contain the SPN of the system monitor for which Monitor ratio is being reported (SPN 3066).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "O.BDMonitoring.Cond.Encountered" : {
+                                       "generic_name": "O.BDMonitoring.Cond.Encountered",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "Displays the number of times that the vehicle has been operated in the specified OBD monitoring conditions (SPN 3049).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Ignition.Cycle.Counter" : {
+                                       "generic_name": "Ignition.Cycle.Counter",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "A single counter that defines the number of ignition cycles (SPN 3048).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65227": {
+                       "comment": "Previously active diagnostic trouble codes",
+                       "length": 22,
+                       "name": "DM2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "54270": {
+                       "comment": "Calibration Information",
+                       "length": 20,
+                       "name": "DM19",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Calibration.ID4" : {
+                                       "generic_name": "Calibration.ID4",
+                                       "bit_position": 127,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calibration.ID3" : {
+                                       "generic_name": "Calibration.ID3",
+                                       "bit_position": 95,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calibration.ID2" : {
+                                       "generic_name": "Calibration.ID2",
+                                       "bit_position": 63,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calibration.ID1" : {
+                                       "generic_name": "Calibration.ID1",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Calibration.Verification.Number" : {
+                                       "generic_name": "Calibration.Verification.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "55038": {
+                       "comment": "Boot Load Data",
+                       "length": 1,
+                       "name": "DM17",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Boot.Load.Data" : {
+                                       "generic_name": "Boot.Load.Data",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               }
+                       }
+               },
+               "55294": {
+                       "comment": "Binary Data Transfer",
+                       "length": 2,
+                       "name": "DM16",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Raw.Binary.Data" : {
+                                       "generic_name": "Raw.Binary.Data",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "Number.Of.Occurance" : {
+                                       "generic_name": "Number.Of.Occurance",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "Number of occurance of raw binary data",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "55550": {
+                       "comment": "Memory Access Response",
+                       "length": 8,
+                       "name": "DM15",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Number.Allowed" : {
+                                       "generic_name": "Number.Allowed",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2047,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Seed" : {
+                                       "generic_name": "Seed",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SeedCompleted_BeginSendingKey": [0],
+                                               "UseLongSeedOrKeyFromDataSecMsg": [1],
+                                               "NoFurtherKeyRequiredOfTool": [255]
+                                       }
+                               },
+                               "E.DCP_.Extension" : {
+                                       "generic_name": "E.DCP_.Extension",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Completed": [0],
+                                               "ConcatenateDataAsHigherEDCParam": [2],
+                                               "ConcatenateDataAsLowerEDCParam": [3],
+                                               "DataInErrorIndicator": [6],
+                                               "DataInErrIndAndDataInSeedIsTime": [9],
+                                               "NoErrIndicator/EDCParamAvailable": [255]
+                                       }
+                               },
+                               "Error.Indicator" : {
+                                       "generic_name": "Error.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "Error Indicator/EDC Parameter",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoError": [0],
+                                               "ErrorNotIdentified": [1],
+                                               "ProcessingForSomeoneElse": [2],
+                                               "ProcessingEraseReq": [16],
+                                               "ProcessingReadReq": [17],
+                                               "ProcessingWriteReq": [18],
+                                               "ProcessingStatusReq": [19],
+                                               "ProcessingBootLoadReq": [22],
+                                               "ProcessingEDCPGenerationReq": [23],
+                                               "ProcessUnspecReqFromThisAddress": [31],
+                                               "EDCParaNotCorrectForDataStream": [32],
+                                               "RAMDidNotVerifyOnWrite": [33],
+                                               "FLASHDidNotVerifyOnWrite": [34],
+                                               "PROMDidNotVerifyOnWrite": [35],
+                                               "InternalFailurePreventingReq": [36],
+                                               "AddressingOrDataGeneralError": [256],
+                                               "AddressNotOnValidBoundary": [257],
+                                               "LengthNotValidForMemStructAndOp": [258],
+                                               "ReqMemoryExceededAvailableMemory": [259],
+                                               "OpRequiresPriorEraseOfDataMem": [260],
+                                               "OpRequiresPriorEraseOfProgramMem": [261],
+                                               "OpReqExeTransfAndEraseOfProgMem": [262],
+                                               "AddrForBootLoadExeOutsideExeMem": [263],
+                                               "AddrForBootLoadExeInvalidBoundary": [264],
+                                               "DataDoesNotConformToValueRanges": [265],
+                                               "NameDoesNotConformToExpectdValue": [266],
+                                               "SecurityErrorGeneral": [4096],
+                                               "InvalidPassword": [4097],
+                                               "InvalidUserLevel": [4098],
+                                               "InvalidKey": [4099],
+                                               "NotInDiagnosticMode": [4100],
+                                               "NotInEngineeringOrDevelopmentMode": [4101],
+                                               "EngineRunning": [4102],
+                                               "VehicleNotInParkOrNotStationary": [4103],
+                                               "AbortFromExtToNormalSoftwareProc": [65536],
+                                               "ModuleExceedingNumberOfRetries": [65537],
+                                               "NoResponseInTheTimeAllowed": [65538],
+                                               "TransportNotInitWithinTimeAllowd": [65539],
+                                               "TransprtNotComplWithinTimeAllowd": [65540],
+                                               "NoErrorIndicatorAvailable": [16777215]
+                                       }
+                               },
+                               "Status" : {
+                                       "generic_name": "Status",
+                                       "bit_position": 8,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Proceed": [0],
+                                               "Busy": [1],
+                                               "Reserved": [2, 3, 6, 7],
+                                               "OperationCompleted": [4],
+                                               "OperationFailed": [5]
+                                       }
+                               },
+                               "Number.Allowed.High" : {
+                                       "generic_name": "Number.Allowed.High",
+                                       "bit_position": 12,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "55806": {
+                       "comment": "Memory Access Request",
+                       "length": 8,
+                       "name": "DM14",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Key.Or.User.Level" : {
+                                       "generic_name": "Key.Or.User.Level",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 65535,
+                                       "comment": "Key/User Level",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "UseLongSeedOrKey": [0],
+                                               "NoKeyAvailable": [65535]
+                                       }
+                               },
+                               "Pointer.Extension" : {
+                                       "generic_name": "Pointer.Extension",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SPN_SPACE": [0]
+                                       }
+                               },
+                               "Pointer" : {
+                                       "generic_name": "Pointer",
+                                       "bit_position": 15,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Command" : {
+                                       "generic_name": "Command",
+                                       "bit_position": 8,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Erase": [0],
+                                               "Read": [1],
+                                               "Write": [2],
+                                               "StatusRequest": [3],
+                                               "OperationCompleted": [4],
+                                               "OperationFailed": [5],
+                                               "BootLoad": [6],
+                                               "EDCP_Generation": [7]
+                                       }
+                               },
+                               "Pointer.Type" : {
+                                       "generic_name": "Pointer.Type",
+                                       "bit_position": 11,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DirectMemoryAddressing": [0],
+                                               "DirectedSpatialAddressing": [1]
+                                       }
+                               },
+                               "Number.Requested" : {
+                                       "generic_name": "Number.Requested",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2047,
+                                       "comment": "Length/Number Requested",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Requested.High" : {
+                                       "generic_name": "Number.Requested.High",
+                                       "bit_position": 12,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Length/Number Requested",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "57342": {
+                       "comment": "Stop start broadcast",
+                       "length": 8,
+                       "name": "DM13",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Hold.Signal" : {
+                                       "generic_name": "Hold.Signal",
+                                       "bit_position": 27,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicator to all nodes that the communication ports that have been acted upon by the 'Stop start broadcast'PGN are remaining in the modified state.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "All devices": [0],
+                                               "Devices whose broadcast state ha": [1],
+                                               "Not available": [15]
+                                       }
+                               },
+                               "J1939.Network3" : {
+                                       "generic_name": "J1939.Network3",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1939 Network #3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "J1939.Network2" : {
+                                       "generic_name": "J1939.Network2",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1939 Network #2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "ISO9141" : {
+                                       "generic_name": "ISO9141",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the ISO9141 communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "SAE_J1850" : {
+                                       "generic_name": "SAE_J1850",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1850 communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "Manufacturer.Specific.Port" : {
+                                       "generic_name": "Manufacturer.Specific.Port",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on 'Other, manufacturer specific port' communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "Current.Data.Link" : {
+                                       "generic_name": "Current.Data.Link",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the communications port that this parameter was received.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "SAE_J1587" : {
+                                       "generic_name": "SAE_J1587",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1587 communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "SAE_J1922" : {
+                                       "generic_name": "SAE_J1922",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1922 communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "J1939.Network1" : {
+                                       "generic_name": "J1939.Network1",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the action to be performed on the SAE J1939 Network #1, Primary vehicle communications port.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Stop broadcast": [0],
+                                               "Start broadcast": [1],
+                                               "Reserved": [2],
+                                               "Don't care": [3]
+                                       }
+                               },
+                               "Suspend.Signal" : {
+                                       "generic_name": "Suspend.Signal",
+                                       "bit_position": 23,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IndefiniteSuspensionOfAllBroadcasts": [0],
+                                               "IndefiniteSuspensionOfSomeMessages": [1],
+                                               "TemporarySuspensionOfAllBroadcasts": [2],
+                                               "TemporarySuspensionOfSomeMessages": [3],
+                                               "ResumingNormalBroadcastPattern": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Suspend.Duration" : {
+                                       "generic_name": "Suspend.Duration",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "None",
+                                       "unit": "sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65236": {
+                       "comment": "Emissions-related active diagnostic trouble codes.",
+                       "length": 22,
+                       "name": "DM12",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65235": {
+                       "comment": "Diagnostic data clear/Reset for active DTCs",
+                       "length": 0,
+                       "name": "DM11",
+                       "bus" : "j1939"
+               },
+               "65234": {
+                       "comment": "Non-continously monitored systems test identifiers support",
+                       "length": 8,
+                       "name": "DM10",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Test.Identifier.Supported" : {
+                                       "generic_name": "Test.Identifier.Supported",
+                                       "bit_position": -1,
+                                       "bit_size": 64,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 1,
+                                       "max_value": 1.844674407371E+19,
+                                       "comment": "Indicates the test identifiers that the controller supports.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65226": {
+                       "comment": "Active diagnostic trouble codes",
+                       "length": 22,
+                       "name": "DM1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65015": {
+                       "comment": "Utility Total AC Reactive Power",
+                       "length": 8,
+                       "name": "UTACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utlity.Overall.Power.Factor.Lagging" : {
+                                       "generic_name": "Utlity.Overall.Power.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for utility incomer average power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Overall.Power.Factor" : {
+                                       "generic_name": "Utility.Overall.Power.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The average power factor of the utility incomer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Total.Reactive.Power" : {
+                                       "generic_name": "Utility.Total.Reactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The total reactive power delivered by the utility incomer",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65016": {
+                       "comment": "Utility Total AC Power",
+                       "length": 8,
+                       "name": "UTACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Total.Apparent.Power" : {
+                                       "generic_name": "Utility.Total.Apparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The total apparent power delivered by the utility incomer.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Total.Real.Power" : {
+                                       "generic_name": "Utility.Total.Real.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "Total real power delivered by the utility incomer.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65005": {
+                       "comment": "Utility Total AC Energy",
+                       "length": 8,
+                       "name": "UTACE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Total.KWHours.Import" : {
+                                       "generic_name": "Utility.Total.KWHours.Import",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "The total kilowatt-hours that have been imported by the utility incomer.",
+                                       "unit": "kWh",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Total.KWHours.Export" : {
+                                       "generic_name": "Utility.Total.KWHours.Export",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "The total kilowatt-hours that have been exported by the utility incomer.",
+                                       "unit": "kWh",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65006": {
+                       "comment": "Utility Phase C AC Reactive Power",
+                       "length": 8,
+                       "name": "UPCACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.CPower.Factor.Lagging" : {
+                                       "generic_name": "Utility.Phase.CPower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for utility incomer phase C power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.CPower.Factor" : {
+                                       "generic_name": "Utility.Phase.CPower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phases C of the utility incomer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.CReactive.Power" : {
+                                       "generic_name": "Utility.Phase.CReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase C of the utility incomer",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65007": {
+                       "comment": "Utility Phase C AC Power",
+                       "length": 8,
+                       "name": "UPCACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.CApparent.Power" : {
+                                       "generic_name": "Utility.Phase.CApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase C of the utility incomer.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.CReal.Power" : {
+                                       "generic_name": "Utility.Phase.CReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase C of the utility incomer.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65008": {
+                       "comment": "Utility Phase C AC Basic Quantities",
+                       "length": 8,
+                       "name": "UPCAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.CACRMSCurrent" : {
+                                       "generic_name": "Utility.Phase.CACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the utility incomer phase C.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.CACFrequency" : {
+                                       "generic_name": "Utility.Phase.CACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the utility incomer phase C.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phs.CLne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phs.CLne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the utility incomer phase C.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phse.CALine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phse.CALine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the utility incomer phase CA.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65009": {
+                       "comment": "Utility Phase B AC Reactive Power",
+                       "length": 8,
+                       "name": "UPBACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.BPower.Factor.Lagging" : {
+                                       "generic_name": "Utility.Phase.BPower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for utility incomer phase B power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.BPower.Factor" : {
+                                       "generic_name": "Utility.Phase.BPower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phases B of the utility incomer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.BReactive.Power" : {
+                                       "generic_name": "Utility.Phase.BReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase B of the utility incomer",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65010": {
+                       "comment": "Utility Phase B AC Power",
+                       "length": 8,
+                       "name": "UPBACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.BApparent.Power" : {
+                                       "generic_name": "Utility.Phase.BApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase B of the utility incomer.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.BReal.Power" : {
+                                       "generic_name": "Utility.Phase.BReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase B of the utility incomer.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65011": {
+                       "comment": "Utility Phase B AC Basic Quantities",
+                       "length": 8,
+                       "name": "UPBAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.BACRMSCurrent" : {
+                                       "generic_name": "Utility.Phase.BACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the utility incomer phase B.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.BACFrequency" : {
+                                       "generic_name": "Utility.Phase.BACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the utility incomer phase B.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phs.BLne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phs.BLne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the utility incomer phase B.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phse.BCLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phse.BCLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the utility incomer phase BC.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65012": {
+                       "comment": "Utility Phase A  AC Reactive Power",
+                       "length": 8,
+                       "name": "UPACCR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.APower.Factor.Lagging" : {
+                                       "generic_name": "Utility.Phase.APower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for utility incomer phase A power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.APower.Factor" : {
+                                       "generic_name": "Utility.Phase.APower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phase A of the utility incomer.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.AReactive.Power" : {
+                                       "generic_name": "Utility.Phase.AReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase A of the utility incomer",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65013": {
+                       "comment": "Utility Phase A  AC Power",
+                       "length": 8,
+                       "name": "UPAACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.AApparent.Power" : {
+                                       "generic_name": "Utility.Phase.AApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase A of the utility incomer.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.AReal.Power" : {
+                                       "generic_name": "Utility.Phase.AReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase A of the utility incomer.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65014": {
+                       "comment": "Utility Phase A Basic AC Quantities",
+                       "length": 8,
+                       "name": "UPAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Phase.AACRMSCurrent" : {
+                                       "generic_name": "Utility.Phase.AACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the utility incomer phase A.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Phase.AACFrequency" : {
+                                       "generic_name": "Utility.Phase.AACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the utility incomer phase A.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phs.ALne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phs.ALne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the utility incomer phase A.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Phse.ABLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Phse.ABLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the utility incomer phase AB.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65017": {
+                       "comment": "Utility Average Basic AC Quantities",
+                       "length": 8,
+                       "name": "UAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Utility.Average.ACRMSCurrent" : {
+                                       "generic_name": "Utility.Average.ACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Average RMS current measured at the utility incomer.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utility.Average.ACFrequency" : {
+                                       "generic_name": "Utility.Average.ACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "Average AC frequency measured at the utility incomer.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Avrg.Lne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Avrg.Lne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The average Line to Neutral AC RMS voltage measured at the utility incomer .",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Utlty.Avrage.Line.Line.ACRMSVoltage" : {
+                                       "generic_name": "Utlty.Avrage.Line.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Average Line to Line RMS voltage measured at the utility incomer .",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65028": {
+                       "comment": "Generator Total AC Reactive Power",
+                       "length": 8,
+                       "name": "GTACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Gnrtor.Overall.Power.Factor.Lagging" : {
+                                       "generic_name": "Gnrtor.Overall.Power.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for generator average power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Leading": [0],
+                                               "Lagging": [1],
+                                               "Error": [2],
+                                               "NotAvailable_NotInstalled": [3]
+                                       }
+                               },
+                               "Generator.Overall.Power.Factor" : {
+                                       "generic_name": "Generator.Overall.Power.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The average power factor of the generator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Total.Reactive.Power" : {
+                                       "generic_name": "Generator.Total.Reactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The total reactive power delivered by the generator",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65029": {
+                       "comment": "Generator Total AC Power",
+                       "length": 8,
+                       "name": "GTACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Total.Apparent.Power" : {
+                                       "generic_name": "Generator.Total.Apparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The total apparent power delivered by the generator.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Total.Real.Power" : {
+                                       "generic_name": "Generator.Total.Real.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "Total real power delivered by the generator.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65018": {
+                       "comment": "Generator Total AC Energy",
+                       "length": 8,
+                       "name": "GTACE",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Total.KWHours.Import" : {
+                                       "generic_name": "Generator.Total.KWHours.Import",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "The total kilowatt-hours that have been imported by the generator.",
+                                       "unit": "kWh",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Total.KWHours.Export" : {
+                                       "generic_name": "Generator.Total.KWHours.Export",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4211081215,
+                                       "comment": "The total kilowatt-hours that have been exported by the generator.",
+                                       "unit": "kWh",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65019": {
+                       "comment": "Generator Phase C AC Reactive Power",
+                       "length": 8,
+                       "name": "GPCACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Gnrator.Phase.CPower.Factor.Lagging" : {
+                                       "generic_name": "Gnrator.Phase.CPower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for generator phase C power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Leading": [0],
+                                               "Lagging": [1],
+                                               "Error": [2],
+                                               "NotAvailable_NotInstalled": [3]
+                                       }
+                               },
+                               "Generator.Phase.CPower.Factor" : {
+                                       "generic_name": "Generator.Phase.CPower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phases C of the generator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.CReactive.Power" : {
+                                       "generic_name": "Generator.Phase.CReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase C of the generator",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65020": {
+                       "comment": "Generator Phase C AC Power",
+                       "length": 8,
+                       "name": "GPCACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.CApparent.Power" : {
+                                       "generic_name": "Generator.Phase.CApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase C of the generator.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.CReal.Power" : {
+                                       "generic_name": "Generator.Phase.CReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase C of the generator.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65021": {
+                       "comment": "Generator Phase C Basic AC Quantities",
+                       "length": 8,
+                       "name": "GPCAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.CACRMSCurrent" : {
+                                       "generic_name": "Generator.Phase.CACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the generator phase C output.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.CACFrequency" : {
+                                       "generic_name": "Generator.Phase.CACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the generator phase C output.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phs.CLne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phs.CLne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the generator phase C output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phse.CALine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phse.CALine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the generator phase CA output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65022": {
+                       "comment": "Generator Phase B AC Reactive Power",
+                       "length": 8,
+                       "name": "GPBACRP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Gnrator.Phase.BPower.Factor.Lagging" : {
+                                       "generic_name": "Gnrator.Phase.BPower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for generator phase B power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Leading": [0],
+                                               "Lagging": [1],
+                                               "Error": [2],
+                                               "NotAvailable_NotInstalled": [3]
+                                       }
+                               },
+                               "Generator.Phase.BPower.Factor" : {
+                                       "generic_name": "Generator.Phase.BPower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phases B of the generator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.BReactive.Power" : {
+                                       "generic_name": "Generator.Phase.BReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase B of the generator",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65023": {
+                       "comment": "Generator Phase B AC Power",
+                       "length": 8,
+                       "name": "GPBACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.BApparent.Power" : {
+                                       "generic_name": "Generator.Phase.BApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase B of the generator.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.BReal.Power" : {
+                                       "generic_name": "Generator.Phase.BReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase B of the generator.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65024": {
+                       "comment": "Generator Phase B Basic AC Quantities",
+                       "length": 8,
+                       "name": "GPBAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.BACRMSCurrent" : {
+                                       "generic_name": "Generator.Phase.BACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the generator phase B output.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.BACFrequency" : {
+                                       "generic_name": "Generator.Phase.BACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the generator phase B output.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phs.BLne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phs.BLne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the generator phase B output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phse.BCLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phse.BCLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the generator phase BC output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65025": {
+                       "comment": "Generator Phase A AC Reactive Power",
+                       "length": 8,
+                       "name": "GPAACR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Gnrator.Phase.APower.Factor.Lagging" : {
+                                       "generic_name": "Gnrator.Phase.APower.Factor.Lagging",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Lead/lag status for generator phase A power factor.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Leading": [0],
+                                               "Lagging": [1],
+                                               "Error": [2],
+                                               "NotAvailable_NotInstalled": [3]
+                                       }
+                               },
+                               "Generator.Phase.APower.Factor" : {
+                                       "generic_name": "Generator.Phase.APower.Factor",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -1,
+                                       "min_value": -1,
+                                       "max_value": 2.92181,
+                                       "comment": "The power factor of phase A of the generator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.AReactive.Power" : {
+                                       "generic_name": "Generator.Phase.AReactive.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The reactive power delivered by phase A of the generator",
+                                       "unit": "VAr",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65026": {
+                       "comment": "Generator Phase A AC Power",
+                       "length": 8,
+                       "name": "GPAACP",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.AApparent.Power" : {
+                                       "generic_name": "Generator.Phase.AApparent.Power",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The apparent power delivered by phase A of the generator.",
+                                       "unit": "VA",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.AReal.Power" : {
+                                       "generic_name": "Generator.Phase.AReal.Power",
+                                       "bit_position": -1,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": -2000000000,
+                                       "min_value": -2000000000,
+                                       "max_value": 2211081215,
+                                       "comment": "The real power delivered by phase A of the generator.",
+                                       "unit": "W",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65027": {
+                       "comment": "Generator Phase A Basic AC Quantities",
+                       "length": 8,
+                       "name": "GPAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Phase.AACRMSCurrent" : {
+                                       "generic_name": "Generator.Phase.AACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "RMS current measured at the generator phase A output.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Phase.AACFrequency" : {
+                                       "generic_name": "Generator.Phase.AACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at the generator phase A output.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phs.ALne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phs.ALne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at the generator phase A output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Phse.ABLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Phse.ABLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at the generator phase AB output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65030": {
+                       "comment": "Generator Average Basic AC Quantities",
+                       "length": 8,
+                       "name": "GAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Generator.Average.ACRMSCurrent" : {
+                                       "generic_name": "Generator.Average.ACRMSCurrent",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Average RMS current measured at the generator output.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Generator.Average.ACFrequency" : {
+                                       "generic_name": "Generator.Average.ACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "Average AC frequency measured at the generator output.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Avrg.Lne.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Avrg.Lne.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The average Line to Neutral AC RMS voltage measured at the Generator output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Gnrtr.Avrage.Line.Line.ACRMSVoltage" : {
+                                       "generic_name": "Gnrtr.Avrage.Line.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Average Line to Line RMS voltage measured at the generator output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64999": {
+                       "comment": "Bus #1/Utility Sync Check Status",
+                       "length": 8,
+                       "name": "BUSC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1_.Utility.ACPhase.Difference" : {
+                                       "generic_name": "Bus1_.Utility.ACPhase.Difference",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The phase difference between the Bus #1 voltage and Utility voltage.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1_.Utility.In.Sync" : {
+                                       "generic_name": "Bus1_.Utility.In.Sync",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether Bus #1 and Utility are properly synchronized for paralleling. This indicator will be based on parameters such as Voltage Match, Frequency Match, and Phase Match.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSynchronized": [0],
+                                               "Sycnchronized": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Utility.Voltage.Match" : {
+                                       "generic_name": "Bus1_.Utility.Voltage.Match",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether voltage difference between Bus #1 and Utility is adequate for paralleling. This indicator will be based on the measured AC voltages qualified using parameters such as Voltage Tolerance.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VolatagesDoNotMatch": [0],
+                                               "VoltagesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Utility.Frequency.Match" : {
+                                       "generic_name": "Bus1_.Utility.Frequency.Match",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether frequency difference between Bus #1 and Utility is adequate for paralleling. This indicator will be based on the measured AC frequencies qualified using parameters such as Frequency Tolerance, Phase Tolerance, and Dwell Time.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FrequenciesDoNotMatch": [0],
+                                               "FrequenciesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Utility.Phase.Match" : {
+                                       "generic_name": "Bus1_.Utility.Phase.Match",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether phase difference between Bus #1 and Utility is adequate for paralleling. This indicator will be based on the measured AC phase difference qualified using parameters such as Phase Tolerance and Dwell Time.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PhasesDoNotMatch": [0],
+                                               "PhasesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Utility.Dead.Bus" : {
+                                       "generic_name": "Bus1_.Utility.Dead.Bus",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether Bus #1 is considered dead for closing to the utility. This indicator will be based on parameters such as Bus #1 Voltage and dead bus threshold values.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BusIsNotDead": [0],
+                                               "BusIsDead": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65001": {
+                       "comment": "Bus #1 Phase C  Basic AC Quantities",
+                       "length": 8,
+                       "name": "BPCAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1.Phase.CACFrequency" : {
+                                       "generic_name": "Bus1.Phase.CACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at bus #1 phase C.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bs1.Phse.CLine.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Bs1.Phse.CLine.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at bus #1 phase C.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1.Phase.CALine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Bus1.Phase.CALine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at bus #1 phase CA.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65002": {
+                       "comment": "Bus #1 Phase B  Basic AC Quantities",
+                       "length": 8,
+                       "name": "BPBAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1.Phase.BACFrequency" : {
+                                       "generic_name": "Bus1.Phase.BACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at bus #1 phase B.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bs1.Phse.BLine.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Bs1.Phse.BLine.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at bus #1 phase B.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1.Phase.BCLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Bus1.Phase.BCLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at bus #1 phase BC.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65003": {
+                       "comment": "Bus #1 Phase A  Basic AC Quantities",
+                       "length": 8,
+                       "name": "BPAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1.Phase.AACFrequency" : {
+                                       "generic_name": "Bus1.Phase.AACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "AC frequency measured at bus #1 phase A.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bs1.Phse.ALine.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Bs1.Phse.ALine.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Neutral RMS voltage measured at bus #1 phase A.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1.Phase.ABLine.Line.ACRMSVoltage" : {
+                                       "generic_name": "Bus1.Phase.ABLine.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Line to Line RMS voltage measured at bus #1 phase AB.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65000": {
+                       "comment": "Bus #1/Generator Sync Check Status",
+                       "length": 8,
+                       "name": "BGSC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1_.Generator.ACPhase.Difference" : {
+                                       "generic_name": "Bus1_.Generator.ACPhase.Difference",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": -200,
+                                       "min_value": -200,
+                                       "max_value": 301.99,
+                                       "comment": "The phase difference between the Bus #1 voltage and Generator voltage.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1_.Generator.In.Sync" : {
+                                       "generic_name": "Bus1_.Generator.In.Sync",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether Bus #1 and Generator are properly synchronized for paralleling. This indicator will be based on parameters such as Voltage Match, Frequency Match, and Phase Match.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotSynchronized": [0],
+                                               "Sycnchronized": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Generator.Voltage.Match" : {
+                                       "generic_name": "Bus1_.Generator.Voltage.Match",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether voltage difference between Bus #1 and Generator is adequate for paralleling. This indicator will be based on the measured AC voltages qualified using parameters such as Voltage Tolerance.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VolatagesDoNotMatch": [0],
+                                               "VoltagesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Generator.Frequency.Match" : {
+                                       "generic_name": "Bus1_.Generator.Frequency.Match",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether frequency difference between Bus #1 and Generator is adequate for paralleling. This indicator will be based on the measured AC frequencies qualified using parameters such as Frequency Tolerance, Phase Tolerance, and Dwell Time.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "FrequenciesDoNotMatch": [0],
+                                               "FrequenciesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Generator.Phase.Match" : {
+                                       "generic_name": "Bus1_.Generator.Phase.Match",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether phase difference between Bus #1 and Generator is adequate for paralleling. This indicator will be based on the measured AC phase difference qualified using parameters such as Phase Tolerance and Dwell Time.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PhasesDoNotMatch": [0],
+                                               "PhasesMatch": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Bus1_.Generator.Dead.Bus" : {
+                                       "generic_name": "Bus1_.Generator.Dead.Bus",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicator of whether Bus #1 is considered dead for closing to the generator. This indicator will be based on parameters such as Bus #1 Voltage and dead bus threshold values.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "BusIsNotDead": [0],
+                                               "BusIsDead": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               }
+                       }
+               },
+               "65004": {
+                       "comment": "Bus #1 Average Basic AC Quantities",
+                       "length": 8,
+                       "name": "BAAC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Bus1.Average.ACFrequency" : {
+                                       "generic_name": "Bus1.Average.ACFrequency",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 501.9921875,
+                                       "comment": "Average AC frequency measured at bus #1.",
+                                       "unit": "Hz",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bs1.Avrge.Line.Neutral.ACRMSVoltage" : {
+                                       "generic_name": "Bs1.Avrge.Line.Neutral.ACRMSVoltage",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "The average Line to Neutral AC RMS voltage measured at bus #1 .",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Bus1.Average.Line.Line.ACRMSVoltage" : {
+                                       "generic_name": "Bus1.Average.Line.Line.ACRMSVoltage",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Average Line to Line RMS voltage measured at bus #1 .",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65037": {
+                       "comment": "Working Set Master",
+                       "length": 8,
+                       "name": "WSMSTR",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Number.Of.Members" : {
+                                       "generic_name": "Number.Of.Members",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65240": {
+                       "comment": "Commanded Address",
+                       "length": 9,
+                       "name": "CA",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Address.Assignment" : {
+                                       "generic_name": "Address.Assignment",
+                                       "bit_position": 63,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "The source address that is to be assigned to the CA that has the NAME corresponding to the one conveyed in the first eight bytes of this Commanded Address message.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Arbitrary.Address.Capable" : {
+                                       "generic_name": "Arbitrary.Address.Capable",
+                                       "bit_position": 62,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Industry.Group" : {
+                                       "generic_name": "Industry.Group",
+                                       "bit_position": 59,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "0 = Global;1  = On-Highway;2  = Agricultural and Forestry;3  = Construction;4  = Marine;5  = Industrial - ProcessControl - Stationary (Gen-Sets)6  = Reserve for SAE7  = Reserve for SAE",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Global": [0],
+                                               "On-Highway": [1],
+                                               "Agricultural and Forestry": [2],
+                                               "Construction": [3],
+                                               "Marine": [4],
+                                               "IndustrialProcessCtrlStationary": [5],
+                                               "Reserved for SAE": [6, 7]
+                                       }
+                               },
+                               "Vehicle.System.Instance" : {
+                                       "generic_name": "Vehicle.System.Instance",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Function" : {
+                                       "generic_name": "Function",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Engine": [0],
+                                               "Auxiliary Power Unit (APU)": [1],
+                                               "Electric Propulsion Control": [2],
+                                               "Transmission": [3],
+                                               "Battery Pack Monitor": [4],
+                                               "Shift Control/Console": [5],
+                                               "Power TakeOff - (Main or Rear)": [6],
+                                               "Axle - Steering": [7],
+                                               "Axle - Drive": [8],
+                                               "Brakes - System Controller": [9],
+                                               "Brakes - Steer Axle": [10],
+                                               "Brakes - Drive Axle": [11],
+                                               "Retarder - Engine": [12],
+                                               "Retarder - Driveline": [13],
+                                               "Cruise Control": [14],
+                                               "Fuel System": [15],
+                                               "Steering Controller": [16],
+                                               "Suspension - Steer Axle": [17],
+                                               "Suspension - Drive Axle": [18],
+                                               "Instrument Cluster": [19],
+                                               "Trip Recorder": [20],
+                                               "Cab Climate Control": [21],
+                                               "Aerodynamic Control": [22],
+                                               "Vehicle Navigation": [23],
+                                               "Vehicle Security": [24],
+                                               "Network Interconnect ECU": [25],
+                                               "Body Controller": [26],
+                                               "Power TakeOff (Secondary or Front)": [27],
+                                               "Off Vehicle Gateway": [28],
+                                               "Virtual Terminal (In Cab)": [29],
+                                               "Management Computer": [30],
+                                               "Propulsion Battery Charger": [31],
+                                               "Headway Controller": [32],
+                                               "System Monitor": [33],
+                                               "Hydraulic Pump Controller": [34],
+                                               "Suspension - System Controller": [35],
+                                               "Pneumatic - System Controller": [36],
+                                               "Cab Controller": [37],
+                                               "Tire Pressure Control": [38],
+                                               "Ignition Control Module": [39],
+                                               "Seat Control": [40],
+                                               "Lighting - Operator Controls": [41],
+                                               "Water Pump Control": [42],
+                                               "Transmission Display": [43],
+                                               "Exhaust Emission Control": [44],
+                                               "Vehicle Dynamic Stability Control": [45],
+                                               "Oil Sensor Unit": [46],
+                                               "Information System Controller": [47],
+                                               "Ramp Control": [48],
+                                               "Clutch/Converter Control": [49],
+                                               "Auxiliary Heater": [50],
+                                               "Forward-Looking Collision Warning System": [51],
+                                               "Chassis Controller": [52],
+                                               "Alternator/Charging System": [53],
+                                               "Communications Unit, Cellular": [54],
+                                               "Communications Unit, Satellite": [55],
+                                               "Communications Unit, Radio": [56],
+                                               "Steering Column Unit": [57],
+                                               "Fan Drive Control": [58],
+                                               "Starter": [59],
+                                               "Cab Display": [60],
+                                               "File Server/Printer": [61],
+                                               "On-Board Diagnostic Unit": [62],
+                                               "Engine Valve Controller": [63],
+                                               "Endurance Braking": [64],
+                                               "Gas Flow Measurement": [65],
+                                               "I/O Controller": [66],
+                                               "Electrical System Controller": [67],
+                                               "Aftertreatment system gas measurement": [68],
+                                               "Engine Emission Aftertreatement System": [69],
+                                               "Auxiliary Regeneration Device": [70],
+                                               "Transfer Case Control": [71],
+                                               "Coolant Valve Controller": [72],
+                                               "Reserved": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+                                       }
+                               },
+                               "Vehicle.System" : {
+                                       "generic_name": "Vehicle.System",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Function.Instance" : {
+                                       "generic_name": "Function.Instance",
+                                       "bit_position": 34,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUInstance" : {
+                                       "generic_name": "E.CUInstance",
+                                       "bit_position": 31,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Manufacturer.Code" : {
+                                       "generic_name": "Manufacturer.Code",
+                                       "bit_position": 20,
+                                       "bit_size": 11,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2047,
+                                       "comment": "Assigned by NMEA 2000 Committee",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "Allied Signal Inc.": [1],
+                                               "Allison Transmission, GMC": [2],
+                                               "Ametek, US Gauge Division": [3],
+                                               "Ametek-Dixson": [4],
+                                               "AMP Inc.": [5],
+                                               "Berifors Electronics AB": [6],
+                                               "Case Corp.": [7],
+                                               "Caterpillar Inc.": [8],
+                                               "Chrysler Corp.": [9],
+                                               "Cummins Engine Co.": [10],
+                                               "Dearborn Group Inc.": [11],
+                                               "Deere & Company, Precision Farming": [12],
+                                               "Delco Electronics": [13],
+                                               "Detroit Diesel Corporation": [14],
+                                               "Dickey-John Corp.": [15],
+                                               "Eaton Corp.": [16],
+                                               "Eaton Corp. Res & Dev": [17],
+                                               "Eaton Corp, Transmission Division": [18],
+                                               "Eaton Corp. Trucking Info Services": [19],
+                                               "Eaton Ltd": [20],
+                                               "Echilin Inc., Midland Brake Inc.": [21],
+                                               "Ford Motor Co., Electronic Concepts $ Systems": [22],
+                                               "Ford Motor Co., Heavy Truck": [23],
+                                               "Ford Motor Co., Vehicle Controls": [24],
+                                               "Daimler Trucks North America LLC": [25],
+                                               "General Motors Corp., Service Technology Group": [26],
+                                               "GMC": [27],
+                                               "Grote Ind. Inc.": [28],
+                                               "Hino Motors Ltd.": [29],
+                                               "Isuzu Motors Ltd.": [30],
+                                               "J Pollak Corp.": [31],
+                                               "Jacobs Vehicle Systems": [32],
+                                               "John Deere": [33],
+                                               "Kelsey Hayes Co.": [34],
+                                               "Kenworth Truck Co.": [35],
+                                               "Lucas Ltd.": [36],
+                                               "Mack Trucks Inc.": [37],
+                                               "Micro Processor Systems Inc.": [38],
+                                               "Microfirm Inc.": [39],
+                                               "Motorola AIEG Inc.": [40],
+                                               "Motorola Inc.": [41],
+                                               "International Truck and Engine Corp. Engine Electronics": [42],
+                                               "International Truck and Engine Corp. Vehicle Electronics": [43],
+                                               "Nippondenso Co. Ltd.": [44],
+                                               "PACCAR": [45],
+                                               "Parasoft Computing Solutions": [46],
+                                               "Phillips Semiconductor": [47],
+                                               "Pollak Alphabet": [48],
+                                               "RE America Inc.": [49],
+                                               "Robert Bosch Corp": [50],
+                                               "Robert Bosch GmbH": [51],
+                                               "Meritor Automotive, Inc.": [52],
+                                               "Continental Automotive Systems US, Inc.": [53],
+                                               "Meritor Wabco": [54],
+                                               "Ryder System Inc.": [55],
+                                               "SAIC": [56],
+                                               "Sauer-Danfoss Co.": [57],
+                                               "SPX Corporation, OTC Division": [58],
+                                               "VES Inc.": [59],
+                                               "Volvo Trucks North America Inc.": [60],
+                                               "Volvo Truck Corp.": [61],
+                                               "Wabco": [62],
+                                               "ZF Industries Inc.": [63],
+                                               "unused": [64, 76],
+                                               "MAN Nutzfahrzeuge AG": [65],
+                                               "John Deere Construction Equipment Division": [66],
+                                               "Funk Manufacturing Company": [67],
+                                               "Scania": [68],
+                                               "Trimble Navigation": [69],
+                                               "Flex-Coil Limited": [70],
+                                               "Vansco Electronics Ltd.": [71],
+                                               "Sisu Corporation": [72],
+                                               "LeTourneau, Inc.": [73],
+                                               "Eaton Axle-Brake Division": [74],
+                                               "Deere & Co. Agricultural Division": [75],
+                                               "Deere Power Systems Group": [77],
+                                               "Frank W. Murphy Manufacturing, Inc.": [78],
+                                               "Daimler Benz AG - Engine Division (PBM)": [79],
+                                               "Twin Disc, Inc.": [80],
+                                               "Fire Research Corp": [81],
+                                               "Bobcat/Ingersoll-Rand": [82],
+                                               "Eaton VORAD Technologies": [83],
+                                               "New Holland UK Limited": [84],
+                                               "Kohler Co.": [85],
+                                               "C.E. Niehoff & Company": [86],
+                                               "J.C. Bamford Excavators Ltd (JCB)": [87],
+                                               "Satloc Precision GPS": [88],
+                                               "Kverneland Group, Electronics Division": [89],
+                                               "Knorr-Bremse SfN GmbH": [90],
+                                               "BSG Bodensee Steuergeraete GmbH": [91],
+                                               "Ag-Chem Equipment Co., Inc.": [92],
+                                               "Perkins Engines Company Ltd.": [93],
+                                               "CNH Global N.V.": [94],
+                                               "Pacific Insight Electronics Corp.": [95],
+                                               "Mech@tronic IT GmbH": [96],
+                                               "Ag Leader Technology, Inc.": [97],
+                                               "Mueller-Elektronik GmbH & Co.": [98],
+                                               "International Transmissions Ltd (ITL)": [99],
+                                               "VDO Technik AG": [100],
+                                               "Sensoria": [101],
+                                               "AGCO GmbH & Co.": [102],
+                                               "Agrocom GmbH & Co. Agrarsystem KG": [103],
+                                               "Claas Selbstfahrende Erntemaschinen GmbH": [104],
+                                               "Kiepe Elektrik GmbH & Co. KG": [105],
+                                               "BAE Systems Controls, Inc.": [106],
+                                               "Grimme Landmaschinen GmbH & Co. KG": [107],
+                                               "WTK-Elecktronik GmbH": [108],
+                                               "TeeJet Technologies Denmark": [109, 179],
+                                               "EPIQ Sensor-Nite": [110],
+                                               "Maschinenfabrik Bernhard Krone GmbH": [111],
+                                               "MECALAC": [112],
+                                               "Stress-Tek, Inc.": [113],
+                                               "EControls, Inc.": [114],
+                                               "NACCO Materials Handling Group, Inc.": [115],
+                                               "BEELINE Technologies": [116],
+                                               "HUSCO International": [117],
+                                               "Intron GmbH": [118],
+                                               "IntegriNautics": [119],
+                                               "RDS Technology Ltd.": [120],
+                                               "HED (Hydro Electronic Devices, Inc.)": [121],
+                                               "FG Wilson (Engineering) Limited": [122],
+                                               "Basler Electric": [123],
+                                               "Hydac Electronic": [124],
+                                               "Nevada Automotive Test Center": [125],
+                                               "Driver Tech": [126],
+                                               "Holland USA": [127],
+                                               "Gerhard Duecker GmbH & Co. KG": [128],
+                                               "OMNEX Control Systems, Inc.": [129],
+                                               "Nido - Universal Machines B.V.": [130],
+                                               "ITT Industries": [131],
+                                               "Mulag-Fahrzeugwerk": [132],
+                                               "Bucher Schoerling GmbH": [133],
+                                               "Iris Technology Ltd.": [134],
+                                               "Airmar Technology Corporation": [135],
+                                               "Komatsu Ltd.": [136],
+                                               "Maretron": [137],
+                                               "Georg Fritzmeier GmbH & Co. KG": [138],
+                                               "Caterpillar Trimble Control Technologies (CTCT), LLC": [139],
+                                               "Lowrance Electronics, Inc.": [140],
+                                               "Thales Navigation Ltd.": [141],
+                                               "TRW Automotive (Commercial Steering Systems)": [142],
+                                               "W. Gmeiner GmbH & Co.": [143],
+                                               "Mercury Marine": [144],
+                                               "MurCal Controls": [145],
+                                               "Maxima Technologies": [146],
+                                               "Nautibus Electronic GmbH": [147],
+                                               "Blue Water Data, Inc.": [148],
+                                               "Holset": [149],
+                                               "Fleetguard": [150],
+                                               "Raven Industries Inc. - Flow Controls Division": [151],
+                                               "Elobau Elektrobauelemente GmbH & Co. KG": [152],
+                                               "Woodward, Industrial Controls Division": [153],
+                                               "Westerbeke Corporation": [154],
+                                               "Vetronix Corporation": [155],
+                                               "ITT Industries - Cannon": [156],
+                                               "ISSPRO Inc.": [157],
+                                               "Firestone Industrial Products Company": [158],
+                                               "NTech Industries Inc.": [159],
+                                               "Nido": [160],
+                                               "Offshore Systems (UK) Limited": [161],
+                                               "Axiomatic Technologies": [162],
+                                               "BRP Inc.": [163],
+                                               "DaimlerChrysler Off-Highway": [164],
+                                               "CPAC Systems AB": [165],
+                                               "Phoenix International": [166],
+                                               "JLG Industries Inc.": [167],
+                                               "Xantrex": [168],
+                                               "Marlin Technologies Inc.": [169],
+                                               "Computronics Corporation Ltd.": [170],
+                                               "Wachendorff Elektronik GmbH & Co. KG": [171],
+                                               "Yanmar Marine USA": [172],
+                                               "Ryeso, Inc.": [173],
+                                               "AB Volvo Penta": [174],
+                                               "Veris Technologies, Inc.": [175],
+                                               "Moritz Aerospace": [176],
+                                               "Diagnostic System Associates": [177],
+                                               "Siemens VDO Automotive AG": [178],
+                                               "Smart Power Systems": [180],
+                                               "Coretronics, Inc.": [181],
+                                               "Vehicle Systems Engineering B.V.": [182],
+                                               "KDS Controls, Inc.": [183],
+                                               "EIA Electronics": [184],
+                                               "Beede Electrical Instrument Company": [185],
+                                               "Altronic, Inc.": [186],
+                                               "Air-Weigh": [187],
+                                               "EMP Corp.": [188],
+                                               "QUALCOMM": [189],
+                                               "Hella KGaA Hueck & Co.": [190],
+                                               "XATA Corporation": [191],
+                                               "Floscan": [192],
+                                               "Jeppesen Marine": [193],
+                                               "TriMark Corporation": [194],
+                                               "General Engine Products": [195],
+                                               "LEMKEN GmbH & Co. KG": [196],
+                                               "Mechron Power Systems": [197],
+                                               "Mystic Valley Communications": [198],
+                                               "Actia Corp.": [199],
+                                               "MGM Brakes": [200],
+                                               "Disenos y Tecnologia S.A.": [201],
+                                               "Curtis Instruments, Inc.": [202],
+                                               "MILtronik GmbH": [203],
+                                               "The Morey Corporation": [204],
+                                               "SmarTire Systems Inc": [205],
+                                               "port GmbH": [206],
+                                               "Otto Engineering": [207],
+                                               "Drew Technologies, Inc.": [208],
+                                               "Bell Equip. Co. SA (PTY) LTD": [209],
+                                               "Iteris, Inc.": [210],
+                                               "DNA Group": [211],
+                                               "Sure Power Industries, Inc.": [212],
+                                               "CNH Belgium N.V.": [213],
+                                               "MC elettronica Srl": [214],
+                                               "Aetna Engineering/Fireboy-Xintex": [215],
+                                               "Paneltronics Inc.": [216],
+                                               "RM Michaelides Software & Elektronik GmbH": [217],
+                                               "Gits Manufacturing Company": [218],
+                                               "Cat OEM Solutions": [219],
+                                               "Beede Electrical Instrument Company, Inc.": [220],
+                                               "SiE": [221],
+                                               "Generac Power Systems, Inc.": [222],
+                                               "Vaueo Retarder Co., Ltd.": [223],
+                                               "EMMI Network, S.L.": [224],
+                                               "SKF": [225],
+                                               "Monaco Coach Corporation": [226],
+                                               "Lykketronic A/S": [227],
+                                               "ZF Marine Electronics": [228],
+                                               "Garmin International Inc.": [229],
+                                               "Saucon Technologies": [230],
+                                               "Topcon Positioning Systems, Inc.": [231],
+                                               "TSD Integrated Controls": [232],
+                                               "Yacht Monitoring Solutions Inc.": [233],
+                                               "Mondial electronic GmbH": [234],
+                                               "SailorMade Marine Telemetry - Tetra Technology Ltd.": [235],
+                                               "Norac Systems International Inc": [236],
+                                               "Agtron Enterprises Inc": [237],
+                                               "ZF Friedrichshafen AG": [238],
+                                               "May & Scofield Ltd": [239],
+                                               "Vanair Mfg": [240],
+                                               "Schneider Automation SAS ": [241],
+                                               "Kokusandenki Co. Ltd": [242],
+                                               "eRide, Inc.": [243],
+                                               "Techno-Matic": [244],
+                                               "Capstan Ag Systems, Inc.": [245],
+                                               "Class 1, Inc": [246],
+                                               "ePULSE": [247],
+                                               "Cooper Standard Automotive Active Systems Group": [248],
+                                               "Schaltbau GmbH": [249],
+                                               "Kuhn Group": [250],
+                                               "German Agricultural Society": [251],
+                                               "Sensor-Technik Wiedemann GmbH": [252],
+                                               "Mobile Control Systems": [253],
+                                               "GE Sensing": [254],
+                                               "MEAS France": [255],
+                                               "Tyco Electronics AMP": [256],
+                                               "Honda Motor Co., Ltd": [257],
+                                               "ARAG": [258],
+                                               "Jetter AG": [259],
+                                               "Reichhardt GmbH": [260],
+                                               "Red Dot Corporation": [261],
+                                               "HydraForce, Inc": [262],
+                                               "IMMI": [263],
+                                               "Autolync": [264],
+                                               "MTS Sensor Technologie GmbH": [265],
+                                               "International Thermal Research Ltd": [266],
+                                               "Red Lion Controls, Inc": [267],
+                                               "Accurate Technologies": [268],
+                                               "Saft America Inc.,  Space & Defense Division": [269],
+                                               "Tennant": [270],
+                                               "Cole Hersee": [271],
+                                               "Gross Mechanical Laboratories, Inc": [272],
+                                               "Active Research Limited": [273],
+                                               "LTW Technology Co., LTD": [274],
+                                               "Navico Egersund AS": [275],
+                                               "Aqua-Hot Heating Systems": [276],
+                                               "LHP Telematics": [277],
+                                               "Takata Electronics": [278],
+                                               "Geometris LP": [279],
+                                               "Leica Geosystems Pty Ltd": [280],
+                                               "Precision Governors LLC": [281],
+                                               "Medallion Instrumentation Systems": [282],
+                                               "CWF Hamilton & Co Ltd": [283],
+                                               "Mobile Tech Chile": [284],
+                                               "Sea Recovery Corp": [285],
+                                               "Coelmo srl": [286],
+                                               "NTech Industries, Inc": [287],
+                                               "Mitsubishi FUSO Truck & Bus Corp.": [288],
+                                               "Watlow": [289],
+                                               "Kuebler GmbH": [290],
+                                               "Groeneveld Transport Efficiency BV": [291],
+                                               "IKUSI - Angel Iglesias S.A.": [292],
+                                               "Spyder Controls Corp.": [293],
+                                               "Grayhill Inc.": [294],
+                                               "BEP Marine": [295],
+                                               "micro dynamics GmbH": [296],
+                                               "Zonar Systems Inc": [297],
+                                               "Holley Performance": [298],
+                                               "Rauch Landmaschinen GmbH": [299],
+                                               "Systron Donner Automotive": [300],
+                                               "Parker Hannifin (UK) Ltd FDE group": [301],
+                                               "Nissin Kogyo Co., LTD": [302],
+                                               "CTS Corporation": [303],
+                                               "EmpirBus AB": [304],
+                                               "NovAtel Inc": [305],
+                                               "Sleipner Motor AB": [306],
+                                               "MAS Technologies": [307],
+                                               "Cyntrx": [308],
+                                               "Krauss-Maffei Wegmann GmbH & Co. KG": [309],
+                                               "TECNORD srl": [310],
+                                               "Patrick Power Products": [311],
+                                               "Lectronix, Inc.": [312],
+                                               "Ilmor Engineering, Inc": [313],
+                                               "CSM GmbH": [314],
+                                               "Icom Incorporated": [315],
+                                               "ITT Flow Control": [316],
+                                               "Navtronics Bvba": [317],
+                                               "SAT Plan": [318],
+                                               "Cadec Global": [319],
+                                               "Miedema Landbouwwerktuigenfabriek B.V.": [320],
+                                               "Ultra Electronics, Electrics": [321],
+                                               "MICHENKA s.r.o.": [322],
+                                               "Mobileye Vision Technologies Ltd.": [323],
+                                               "Snap-on Diagnostics": [324],
+                                               "ASM Automation Sensorik Messtechnik GmbH": [325],
+                                               "Akron Brass Company": [326],
+                                               "Sonceboz SA": [327],
+                                               "Teleflex": [1850],
+                                               "Raymarine": [1851],
+                                               "Navionics": [1852],
+                                               "Japan Radio Co.": [1853],
+                                               "Northstar Technologies": [1854],
+                                               "Furuno USA": [1855],
+                                               "Trimble": [1856],
+                                               "Simrad": [1857],
+                                               "Litton": [1858],
+                                               "Kvasar AB": [1859],
+                                               "MMP": [1860],
+                                               "Vector CANtech": [1861],
+                                               "Sanshin": [1862],
+                                               "Thomas G. Faria Co.": [1863]
+                                       }
+                               },
+                               "Identity.Number" : {
+                                       "generic_name": "Identity.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 21,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2097152,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.System5" : {
+                                       "generic_name": "Vehicle.System5",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "5",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ind. Process Control Stationary": [0],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System4" : {
+                                       "generic_name": "Vehicle.System4",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "4",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "System Tools": [10],
+                                               "Safety Systems": [20],
+                                               "Gateway": [25],
+                                               "Power Mgmt and lighting systems": [30],
+                                               "Steering Systems": [40],
+                                               "Propulsion Systems": [50],
+                                               "Navigation Systems": [60],
+                                               "Communications Systems": [70],
+                                               "Instrumentation/General Systems": [80],
+                                               "Environmental (HVAC) Systems": [90],
+                                               "Deck/Cargo/Fishing equip. sys": [100],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System3" : {
+                                       "generic_name": "Vehicle.System3",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Skid Steer Loader": [1],
+                                               "Articulated Dump Truck": [2],
+                                               "Backhoe": [3],
+                                               "Crawler": [4],
+                                               "Excavator": [5],
+                                               "Forklift": [6],
+                                               "Four Wheel Drive Loader": [7],
+                                               "Grader": [8],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System2" : {
+                                       "generic_name": "Vehicle.System2",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Tractor": [1],
+                                               "Tillage": [2],
+                                               "Secondary Tillage": [3],
+                                               "Planters/Seeders": [4],
+                                               "Fertilizers": [5],
+                                               "Sprayers": [6],
+                                               "Harvesters": [7],
+                                               "Root Harvesters": [8],
+                                               "Forage": [9],
+                                               "Irrigation": [10],
+                                               "Transport/Trailer": [11],
+                                               "Farm Yard Operations": [12],
+                                               "Powered Auxiliary Device": [13],
+                                               "Special Crops": [14],
+                                               "Earth Work": [15],
+                                               "Skidder": [16],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System1" : {
+                                       "generic_name": "Vehicle.System1",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Tractor": [1],
+                                               "Trailer": [2],
+                                               "Not Available": [127]
+                                       }
+                               }
+                       }
+               },
+               "61182": {
+                       "comment": "Address Claimed",
+                       "length": 8,
+                       "name": "ACL",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Arbitrary.Address.Capable" : {
+                                       "generic_name": "Arbitrary.Address.Capable",
+                                       "bit_position": 62,
+                                       "bit_size": 1,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Industry.Group" : {
+                                       "generic_name": "Industry.Group",
+                                       "bit_position": 59,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "0 = Global;1  = On-Highway;2  = Agricultural and Forestry;3  = Construction;4  = Marine;5  = Industrial - ProcessControl - Stationary (Gen-Sets)6  = Reserve for SAE7  = Reserve for SAE",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Global": [0],
+                                               "On-Highway": [1],
+                                               "Agricultural and Forestry": [2],
+                                               "Construction": [3],
+                                               "Marine": [4],
+                                               "IndustrialProcessCtrlStationary": [5],
+                                               "Reserved for SAE": [6, 7]
+                                       }
+                               },
+                               "Vehicle.System.Instance" : {
+                                       "generic_name": "Vehicle.System.Instance",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Function" : {
+                                       "generic_name": "Function",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Engine": [0],
+                                               "Auxiliary Power Unit (APU)": [1],
+                                               "Electric Propulsion Control": [2],
+                                               "Transmission": [3],
+                                               "Battery Pack Monitor": [4],
+                                               "Shift Control/Console": [5],
+                                               "Power TakeOff - (Main or Rear)": [6],
+                                               "Axle - Steering": [7],
+                                               "Axle - Drive": [8],
+                                               "Brakes - System Controller": [9],
+                                               "Brakes - Steer Axle": [10],
+                                               "Brakes - Drive Axle": [11],
+                                               "Retarder - Engine": [12],
+                                               "Retarder - Driveline": [13],
+                                               "Cruise Control": [14],
+                                               "Fuel System": [15],
+                                               "Steering Controller": [16],
+                                               "Suspension - Steer Axle": [17],
+                                               "Suspension - Drive Axle": [18],
+                                               "Instrument Cluster": [19],
+                                               "Trip Recorder": [20],
+                                               "Cab Climate Control": [21],
+                                               "Aerodynamic Control": [22],
+                                               "Vehicle Navigation": [23],
+                                               "Vehicle Security": [24],
+                                               "Network Interconnect ECU": [25],
+                                               "Body Controller": [26],
+                                               "Power TakeOff (Secondary or Front)": [27],
+                                               "Off Vehicle Gateway": [28],
+                                               "Virtual Terminal (In Cab)": [29],
+                                               "Management Computer": [30],
+                                               "Propulsion Battery Charger": [31],
+                                               "Headway Controller": [32],
+                                               "System Monitor": [33],
+                                               "Hydraulic Pump Controller": [34],
+                                               "Suspension - System Controller": [35],
+                                               "Pneumatic - System Controller": [36],
+                                               "Cab Controller": [37],
+                                               "Tire Pressure Control": [38],
+                                               "Ignition Control Module": [39],
+                                               "Seat Control": [40],
+                                               "Lighting - Operator Controls": [41],
+                                               "Water Pump Control": [42],
+                                               "Transmission Display": [43],
+                                               "Exhaust Emission Control": [44],
+                                               "Vehicle Dynamic Stability Control": [45],
+                                               "Oil Sensor Unit": [46],
+                                               "Information System Controller": [47],
+                                               "Ramp Control": [48],
+                                               "Clutch/Converter Control": [49],
+                                               "Auxiliary Heater": [50],
+                                               "Forward-Looking Collision Warning System": [51],
+                                               "Chassis Controller": [52],
+                                               "Alternator/Charging System": [53],
+                                               "Communications Unit, Cellular": [54],
+                                               "Communications Unit, Satellite": [55],
+                                               "Communications Unit, Radio": [56],
+                                               "Steering Column Unit": [57],
+                                               "Fan Drive Control": [58],
+                                               "Starter": [59],
+                                               "Cab Display": [60],
+                                               "File Server/Printer": [61],
+                                               "On-Board Diagnostic Unit": [62],
+                                               "Engine Valve Controller": [63],
+                                               "Endurance Braking": [64],
+                                               "Gas Flow Measurement": [65],
+                                               "I/O Controller": [66],
+                                               "Electrical System Controller": [67],
+                                               "Aftertreatment system gas measurement": [68],
+                                               "Engine Emission Aftertreatement System": [69],
+                                               "Auxiliary Regeneration Device": [70],
+                                               "Transfer Case Control": [71],
+                                               "Coolant Valve Controller": [72],
+                                               "Reserved": [73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+                                       }
+                               },
+                               "Function.Instance" : {
+                                       "generic_name": "Function.Instance",
+                                       "bit_position": 34,
+                                       "bit_size": 5,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 31,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "E.CUInstance" : {
+                                       "generic_name": "E.CUInstance",
+                                       "bit_position": 31,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Manufacturer.Code" : {
+                                       "generic_name": "Manufacturer.Code",
+                                       "bit_position": 20,
+                                       "bit_size": 11,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2047,
+                                       "comment": "Assigned by NMEA 2000 Committee",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "Allied Signal Inc.": [1],
+                                               "Allison Transmission, GMC": [2],
+                                               "Ametek, US Gauge Division": [3],
+                                               "Ametek-Dixson": [4],
+                                               "AMP Inc.": [5],
+                                               "Berifors Electronics AB": [6],
+                                               "Case Corp.": [7],
+                                               "Caterpillar Inc.": [8],
+                                               "Chrysler Corp.": [9],
+                                               "Cummins Engine Co.": [10],
+                                               "Dearborn Group Inc.": [11],
+                                               "Deere & Company, Precision Farming": [12],
+                                               "Delco Electronics": [13],
+                                               "Detroit Diesel Corporation": [14],
+                                               "Dickey-John Corp.": [15],
+                                               "Eaton Corp.": [16],
+                                               "Eaton Corp. Res & Dev": [17],
+                                               "Eaton Corp, Transmission Division": [18],
+                                               "Eaton Corp. Trucking Info Services": [19],
+                                               "Eaton Ltd": [20],
+                                               "Echilin Inc., Midland Brake Inc.": [21],
+                                               "Ford Motor Co., Electronic Concepts $ Systems": [22],
+                                               "Ford Motor Co., Heavy Truck": [23],
+                                               "Ford Motor Co., Vehicle Controls": [24],
+                                               "Daimler Trucks North America LLC": [25],
+                                               "General Motors Corp., Service Technology Group": [26],
+                                               "GMC": [27],
+                                               "Grote Ind. Inc.": [28],
+                                               "Hino Motors Ltd.": [29],
+                                               "Isuzu Motors Ltd.": [30],
+                                               "J Pollak Corp.": [31],
+                                               "Jacobs Vehicle Systems": [32],
+                                               "John Deere": [33],
+                                               "Kelsey Hayes Co.": [34],
+                                               "Kenworth Truck Co.": [35],
+                                               "Lucas Ltd.": [36],
+                                               "Mack Trucks Inc.": [37],
+                                               "Micro Processor Systems Inc.": [38],
+                                               "Microfirm Inc.": [39],
+                                               "Motorola AIEG Inc.": [40],
+                                               "Motorola Inc.": [41],
+                                               "International Truck and Engine Corp. Engine Electronics": [42],
+                                               "International Truck and Engine Corp. Vehicle Electronics": [43],
+                                               "Nippondenso Co. Ltd.": [44],
+                                               "PACCAR": [45],
+                                               "Parasoft Computing Solutions": [46],
+                                               "Phillips Semiconductor": [47],
+                                               "Pollak Alphabet": [48],
+                                               "RE America Inc.": [49],
+                                               "Robert Bosch Corp": [50],
+                                               "Robert Bosch GmbH": [51],
+                                               "Meritor Automotive, Inc.": [52],
+                                               "Continental Automotive Systems US, Inc.": [53],
+                                               "Meritor Wabco": [54],
+                                               "Ryder System Inc.": [55],
+                                               "SAIC": [56],
+                                               "Sauer-Danfoss Co.": [57],
+                                               "SPX Corporation, OTC Division": [58],
+                                               "VES Inc.": [59],
+                                               "Volvo Trucks North America Inc.": [60],
+                                               "Volvo Truck Corp.": [61],
+                                               "Wabco": [62],
+                                               "ZF Industries Inc.": [63],
+                                               "unused": [64, 76],
+                                               "MAN Nutzfahrzeuge AG": [65],
+                                               "John Deere Construction Equipment Division": [66],
+                                               "Funk Manufacturing Company": [67],
+                                               "Scania": [68],
+                                               "Trimble Navigation": [69],
+                                               "Flex-Coil Limited": [70],
+                                               "Vansco Electronics Ltd.": [71],
+                                               "Sisu Corporation": [72],
+                                               "LeTourneau, Inc.": [73],
+                                               "Eaton Axle-Brake Division": [74],
+                                               "Deere & Co. Agricultural Division": [75],
+                                               "Deere Power Systems Group": [77],
+                                               "Frank W. Murphy Manufacturing, Inc.": [78],
+                                               "Daimler Benz AG - Engine Division (PBM)": [79],
+                                               "Twin Disc, Inc.": [80],
+                                               "Fire Research Corp": [81],
+                                               "Bobcat/Ingersoll-Rand": [82],
+                                               "Eaton VORAD Technologies": [83],
+                                               "New Holland UK Limited": [84],
+                                               "Kohler Co.": [85],
+                                               "C.E. Niehoff & Company": [86],
+                                               "J.C. Bamford Excavators Ltd (JCB)": [87],
+                                               "Satloc Precision GPS": [88],
+                                               "Kverneland Group, Electronics Division": [89],
+                                               "Knorr-Bremse SfN GmbH": [90],
+                                               "BSG Bodensee Steuergeraete GmbH": [91],
+                                               "Ag-Chem Equipment Co., Inc.": [92],
+                                               "Perkins Engines Company Ltd.": [93],
+                                               "CNH Global N.V.": [94],
+                                               "Pacific Insight Electronics Corp.": [95],
+                                               "Mech@tronic IT GmbH": [96],
+                                               "Ag Leader Technology, Inc.": [97],
+                                               "Mueller-Elektronik GmbH & Co.": [98],
+                                               "International Transmissions Ltd (ITL)": [99],
+                                               "VDO Technik AG": [100],
+                                               "Sensoria": [101],
+                                               "AGCO GmbH & Co.": [102],
+                                               "Agrocom GmbH & Co. Agrarsystem KG": [103],
+                                               "Claas Selbstfahrende Erntemaschinen GmbH": [104],
+                                               "Kiepe Elektrik GmbH & Co. KG": [105],
+                                               "BAE Systems Controls, Inc.": [106],
+                                               "Grimme Landmaschinen GmbH & Co. KG": [107],
+                                               "WTK-Elecktronik GmbH": [108],
+                                               "TeeJet Technologies Denmark": [109, 179],
+                                               "EPIQ Sensor-Nite": [110],
+                                               "Maschinenfabrik Bernhard Krone GmbH": [111],
+                                               "MECALAC": [112],
+                                               "Stress-Tek, Inc.": [113],
+                                               "EControls, Inc.": [114],
+                                               "NACCO Materials Handling Group, Inc.": [115],
+                                               "BEELINE Technologies": [116],
+                                               "HUSCO International": [117],
+                                               "Intron GmbH": [118],
+                                               "IntegriNautics": [119],
+                                               "RDS Technology Ltd.": [120],
+                                               "HED (Hydro Electronic Devices, Inc.)": [121],
+                                               "FG Wilson (Engineering) Limited": [122],
+                                               "Basler Electric": [123],
+                                               "Hydac Electronic": [124],
+                                               "Nevada Automotive Test Center": [125],
+                                               "Driver Tech": [126],
+                                               "Holland USA": [127],
+                                               "Gerhard Duecker GmbH & Co. KG": [128],
+                                               "OMNEX Control Systems, Inc.": [129],
+                                               "Nido - Universal Machines B.V.": [130],
+                                               "ITT Industries": [131],
+                                               "Mulag-Fahrzeugwerk": [132],
+                                               "Bucher Schoerling GmbH": [133],
+                                               "Iris Technology Ltd.": [134],
+                                               "Airmar Technology Corporation": [135],
+                                               "Komatsu Ltd.": [136],
+                                               "Maretron": [137],
+                                               "Georg Fritzmeier GmbH & Co. KG": [138],
+                                               "Caterpillar Trimble Control Technologies (CTCT), LLC": [139],
+                                               "Lowrance Electronics, Inc.": [140],
+                                               "Thales Navigation Ltd.": [141],
+                                               "TRW Automotive (Commercial Steering Systems)": [142],
+                                               "W. Gmeiner GmbH & Co.": [143],
+                                               "Mercury Marine": [144],
+                                               "MurCal Controls": [145],
+                                               "Maxima Technologies": [146],
+                                               "Nautibus Electronic GmbH": [147],
+                                               "Blue Water Data, Inc.": [148],
+                                               "Holset": [149],
+                                               "Fleetguard": [150],
+                                               "Raven Industries Inc. - Flow Controls Division": [151],
+                                               "Elobau Elektrobauelemente GmbH & Co. KG": [152],
+                                               "Woodward, Industrial Controls Division": [153],
+                                               "Westerbeke Corporation": [154],
+                                               "Vetronix Corporation": [155],
+                                               "ITT Industries - Cannon": [156],
+                                               "ISSPRO Inc.": [157],
+                                               "Firestone Industrial Products Company": [158],
+                                               "NTech Industries Inc.": [159],
+                                               "Nido": [160],
+                                               "Offshore Systems (UK) Limited": [161],
+                                               "Axiomatic Technologies": [162],
+                                               "BRP Inc.": [163],
+                                               "DaimlerChrysler Off-Highway": [164],
+                                               "CPAC Systems AB": [165],
+                                               "Phoenix International": [166],
+                                               "JLG Industries Inc.": [167],
+                                               "Xantrex": [168],
+                                               "Marlin Technologies Inc.": [169],
+                                               "Computronics Corporation Ltd.": [170],
+                                               "Wachendorff Elektronik GmbH & Co. KG": [171],
+                                               "Yanmar Marine USA": [172],
+                                               "Ryeso, Inc.": [173],
+                                               "AB Volvo Penta": [174],
+                                               "Veris Technologies, Inc.": [175],
+                                               "Moritz Aerospace": [176],
+                                               "Diagnostic System Associates": [177],
+                                               "Siemens VDO Automotive AG": [178],
+                                               "Smart Power Systems": [180],
+                                               "Coretronics, Inc.": [181],
+                                               "Vehicle Systems Engineering B.V.": [182],
+                                               "KDS Controls, Inc.": [183],
+                                               "EIA Electronics": [184],
+                                               "Beede Electrical Instrument Company": [185],
+                                               "Altronic, Inc.": [186],
+                                               "Air-Weigh": [187],
+                                               "EMP Corp.": [188],
+                                               "QUALCOMM": [189],
+                                               "Hella KGaA Hueck & Co.": [190],
+                                               "XATA Corporation": [191],
+                                               "Floscan": [192],
+                                               "Jeppesen Marine": [193],
+                                               "TriMark Corporation": [194],
+                                               "General Engine Products": [195],
+                                               "LEMKEN GmbH & Co. KG": [196],
+                                               "Mechron Power Systems": [197],
+                                               "Mystic Valley Communications": [198],
+                                               "Actia Corp.": [199],
+                                               "MGM Brakes": [200],
+                                               "Disenos y Tecnologia S.A.": [201],
+                                               "Curtis Instruments, Inc.": [202],
+                                               "MILtronik GmbH": [203],
+                                               "The Morey Corporation": [204],
+                                               "SmarTire Systems Inc": [205],
+                                               "port GmbH": [206],
+                                               "Otto Engineering": [207],
+                                               "Drew Technologies, Inc.": [208],
+                                               "Bell Equip. Co. SA (PTY) LTD": [209],
+                                               "Iteris, Inc.": [210],
+                                               "DNA Group": [211],
+                                               "Sure Power Industries, Inc.": [212],
+                                               "CNH Belgium N.V.": [213],
+                                               "MC elettronica Srl": [214],
+                                               "Aetna Engineering/Fireboy-Xintex": [215],
+                                               "Paneltronics Inc.": [216],
+                                               "RM Michaelides Software & Elektronik GmbH": [217],
+                                               "Gits Manufacturing Company": [218],
+                                               "Cat OEM Solutions": [219],
+                                               "Beede Electrical Instrument Company, Inc.": [220],
+                                               "SiE": [221],
+                                               "Generac Power Systems, Inc.": [222],
+                                               "Vaueo Retarder Co., Ltd.": [223],
+                                               "EMMI Network, S.L.": [224],
+                                               "SKF": [225],
+                                               "Monaco Coach Corporation": [226],
+                                               "Lykketronic A/S": [227],
+                                               "ZF Marine Electronics": [228],
+                                               "Garmin International Inc.": [229],
+                                               "Saucon Technologies": [230],
+                                               "Topcon Positioning Systems, Inc.": [231],
+                                               "TSD Integrated Controls": [232],
+                                               "Yacht Monitoring Solutions Inc.": [233],
+                                               "Mondial electronic GmbH": [234],
+                                               "SailorMade Marine Telemetry - Tetra Technology Ltd.": [235],
+                                               "Norac Systems International Inc": [236],
+                                               "Agtron Enterprises Inc": [237],
+                                               "ZF Friedrichshafen AG": [238],
+                                               "May & Scofield Ltd": [239],
+                                               "Vanair Mfg": [240],
+                                               "Schneider Automation SAS ": [241],
+                                               "Kokusandenki Co. Ltd": [242],
+                                               "eRide, Inc.": [243],
+                                               "Techno-Matic": [244],
+                                               "Capstan Ag Systems, Inc.": [245],
+                                               "Class 1, Inc": [246],
+                                               "ePULSE": [247],
+                                               "Cooper Standard Automotive Active Systems Group": [248],
+                                               "Schaltbau GmbH": [249],
+                                               "Kuhn Group": [250],
+                                               "German Agricultural Society": [251],
+                                               "Sensor-Technik Wiedemann GmbH": [252],
+                                               "Mobile Control Systems": [253],
+                                               "GE Sensing": [254],
+                                               "MEAS France": [255],
+                                               "Tyco Electronics AMP": [256],
+                                               "Honda Motor Co., Ltd": [257],
+                                               "ARAG": [258],
+                                               "Jetter AG": [259],
+                                               "Reichhardt GmbH": [260],
+                                               "Red Dot Corporation": [261],
+                                               "HydraForce, Inc": [262],
+                                               "IMMI": [263],
+                                               "Autolync": [264],
+                                               "MTS Sensor Technologie GmbH": [265],
+                                               "International Thermal Research Ltd": [266],
+                                               "Red Lion Controls, Inc": [267],
+                                               "Accurate Technologies": [268],
+                                               "Saft America Inc.,  Space & Defense Division": [269],
+                                               "Tennant": [270],
+                                               "Cole Hersee": [271],
+                                               "Gross Mechanical Laboratories, Inc": [272],
+                                               "Active Research Limited": [273],
+                                               "LTW Technology Co., LTD": [274],
+                                               "Navico Egersund AS": [275],
+                                               "Aqua-Hot Heating Systems": [276],
+                                               "LHP Telematics": [277],
+                                               "Takata Electronics": [278],
+                                               "Geometris LP": [279],
+                                               "Leica Geosystems Pty Ltd": [280],
+                                               "Precision Governors LLC": [281],
+                                               "Medallion Instrumentation Systems": [282],
+                                               "CWF Hamilton & Co Ltd": [283],
+                                               "Mobile Tech Chile": [284],
+                                               "Sea Recovery Corp": [285],
+                                               "Coelmo srl": [286],
+                                               "NTech Industries, Inc": [287],
+                                               "Mitsubishi FUSO Truck & Bus Corp.": [288],
+                                               "Watlow": [289],
+                                               "Kuebler GmbH": [290],
+                                               "Groeneveld Transport Efficiency BV": [291],
+                                               "IKUSI - Angel Iglesias S.A.": [292],
+                                               "Spyder Controls Corp.": [293],
+                                               "Grayhill Inc.": [294],
+                                               "BEP Marine": [295],
+                                               "micro dynamics GmbH": [296],
+                                               "Zonar Systems Inc": [297],
+                                               "Holley Performance": [298],
+                                               "Rauch Landmaschinen GmbH": [299],
+                                               "Systron Donner Automotive": [300],
+                                               "Parker Hannifin (UK) Ltd FDE group": [301],
+                                               "Nissin Kogyo Co., LTD": [302],
+                                               "CTS Corporation": [303],
+                                               "EmpirBus AB": [304],
+                                               "NovAtel Inc": [305],
+                                               "Sleipner Motor AB": [306],
+                                               "MAS Technologies": [307],
+                                               "Cyntrx": [308],
+                                               "Krauss-Maffei Wegmann GmbH & Co. KG": [309],
+                                               "TECNORD srl": [310],
+                                               "Patrick Power Products": [311],
+                                               "Lectronix, Inc.": [312],
+                                               "Ilmor Engineering, Inc": [313],
+                                               "CSM GmbH": [314],
+                                               "Icom Incorporated": [315],
+                                               "ITT Flow Control": [316],
+                                               "Navtronics Bvba": [317],
+                                               "SAT Plan": [318],
+                                               "Cadec Global": [319],
+                                               "Miedema Landbouwwerktuigenfabriek B.V.": [320],
+                                               "Ultra Electronics, Electrics": [321],
+                                               "MICHENKA s.r.o.": [322],
+                                               "Mobileye Vision Technologies Ltd.": [323],
+                                               "Snap-on Diagnostics": [324],
+                                               "ASM Automation Sensorik Messtechnik GmbH": [325],
+                                               "Akron Brass Company": [326],
+                                               "Sonceboz SA": [327],
+                                               "Teleflex": [1850],
+                                               "Raymarine": [1851],
+                                               "Navionics": [1852],
+                                               "Japan Radio Co.": [1853],
+                                               "Northstar Technologies": [1854],
+                                               "Furuno USA": [1855],
+                                               "Trimble": [1856],
+                                               "Simrad": [1857],
+                                               "Litton": [1858],
+                                               "Kvasar AB": [1859],
+                                               "MMP": [1860],
+                                               "Vector CANtech": [1861],
+                                               "Sanshin": [1862],
+                                               "Thomas G. Faria Co.": [1863]
+                                       }
+                               },
+                               "Identity.Number" : {
+                                       "generic_name": "Identity.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 21,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2097152,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Vehicle.System" : {
+                                       "generic_name": "Vehicle.System",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System5" : {
+                                       "generic_name": "Vehicle.System5",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "5",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Ind. Process Control Stationary": [0],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System4" : {
+                                       "generic_name": "Vehicle.System4",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "4",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "System Tools": [10],
+                                               "Safety Systems": [20],
+                                               "Gateway": [25],
+                                               "Power Mgmt and lighting systems": [30],
+                                               "Steering Systems": [40],
+                                               "Propulsion Systems": [50],
+                                               "Navigation Systems": [60],
+                                               "Communications Systems": [70],
+                                               "Instrumentation/General Systems": [80],
+                                               "Environmental (HVAC) Systems": [90],
+                                               "Deck/Cargo/Fishing equip. sys": [100],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System3" : {
+                                       "generic_name": "Vehicle.System3",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Skid Steer Loader": [1],
+                                               "Articulated Dump Truck": [2],
+                                               "Backhoe": [3],
+                                               "Crawler": [4],
+                                               "Excavator": [5],
+                                               "Forklift": [6],
+                                               "Four Wheel Drive Loader": [7],
+                                               "Grader": [8],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System2" : {
+                                       "generic_name": "Vehicle.System2",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "2",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Tractor": [1],
+                                               "Tillage": [2],
+                                               "Secondary Tillage": [3],
+                                               "Planters/Seeders": [4],
+                                               "Fertilizers": [5],
+                                               "Sprayers": [6],
+                                               "Harvesters": [7],
+                                               "Root Harvesters": [8],
+                                               "Forage": [9],
+                                               "Irrigation": [10],
+                                               "Transport/Trailer": [11],
+                                               "Farm Yard Operations": [12],
+                                               "Powered Auxiliary Device": [13],
+                                               "Special Crops": [14],
+                                               "Earth Work": [15],
+                                               "Skidder": [16],
+                                               "Not Available": [127]
+                                       }
+                               },
+                               "Vehicle.System1" : {
+                                       "generic_name": "Vehicle.System1",
+                                       "bit_position": 48,
+                                       "bit_size": 7,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 127,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Non-specific System": [0],
+                                               "Tractor": [1],
+                                               "Trailer": [2],
+                                               "Not Available": [127]
+                                       }
+                               }
+                       }
+               },
+               "51966": {
+                       "comment": "Transfer",
+                       "length": 8,
+                       "name": "XFER",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Shrt.Name.Of.Actual.Reporting.Device" : {
+                                       "generic_name": "Shrt.Name.Of.Actual.Reporting.Device",
+                                       "bit_position": 31,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 0,
+                                       "comment": "Short name of reporting device of the requested PGN via the Transfer PGN.",
+                                       "unit": "(2^32 - 1)",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Length.Of.Data.For.The.Reported.PGN" : {
+                                       "generic_name": "Length.Of.Data.For.The.Reported.PGN",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Length of data reported with the associated PGN via the Transfer PGN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "P.GNof.Requsted.Information" : {
+                                       "generic_name": "P.GNof.Requsted.Information",
+                                       "bit_position": -1,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "PGN associated with this transfer message",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "60414": {
+                       "comment": "Transport Protocol - Data Transfer",
+                       "length": 8,
+                       "name": "TPDT",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Sequence.Number" : {
+                                       "generic_name": "Sequence.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "60670": {
+                       "comment": "Transport Protocol - Connection Management",
+                       "length": 8,
+                       "name": "TPCM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Total.Number.Of.Packets.Eo.MA" : {
+                                       "generic_name": "Total.Number.Of.Packets.Eo.MA",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Total number of packets for BAM message.Total number of packets received for RTS/CTS message.Total number of packets for RTS/CTS message.",
+                                       "multiplex": "19",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Message.Size.Eo.MA" : {
+                                       "generic_name": "Total.Message.Size.Eo.MA",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total message size (in bytes) for BAM message.Total message size (in bytes) for RTS/CTS message.Total message size (in bytes) for RTS/CTS message.",
+                                       "multiplex": "19",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Message.Size.BAM" : {
+                                       "generic_name": "Total.Message.Size.BAM",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total message size (in bytes) for BAM message.Total message size (in bytes) for RTS/CTS message.Total message size (in bytes) for RTS/CTS message.",
+                                       "multiplex": "32",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Number.Of.Packets.BAM" : {
+                                       "generic_name": "Total.Number.Of.Packets.BAM",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Total number of packets for BAM message.Total number of packets received for RTS/CTS message.Total number of packets for RTS/CTS message.",
+                                       "multiplex": "32",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Connection.Abort.Reason" : {
+                                       "generic_name": "Connection.Abort.Reason",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Reason for connection abort message.",
+                                       "multiplex": "255",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Next.Packet.Number.To.Be.Sent" : {
+                                       "generic_name": "Next.Packet.Number.To.Be.Sent",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Next Packet Number to be sent (TP.CM_CTS)",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Of.Packets.That.Can.Be.Sent" : {
+                                       "generic_name": "Number.Of.Packets.That.Can.Be.Sent",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Number of Packets that can be sent (TP.CM_CTS)",
+                                       "multiplex": "17",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "P.GNumber" : {
+                                       "generic_name": "P.GNumber",
+                                       "bit_position": 39,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777200,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotAvailable": [255]
+                                       }
+                               },
+                               "Maximum.Number.Of.Packets" : {
+                                       "generic_name": "Maximum.Number.Of.Packets",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Maximum number of packets for RTS/CTS message.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Number.Of.Packets" : {
+                                       "generic_name": "Total.Number.Of.Packets",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Total number of packets for BAM message.Total number of packets received for RTS/CTS message.Total number of packets for RTS/CTS message.",
+                                       "multiplex": "16",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Total.Message.Size" : {
+                                       "generic_name": "Total.Message.Size",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Total message size (in bytes) for BAM message.Total message size (in bytes) for RTS/CTS message.Total message size (in bytes) for RTS/CTS message.",
+                                       "multiplex": "16",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Control.Byte" : {
+                                       "generic_name": "Control.Byte",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RTS": [16],
+                                               "CTS": [17],
+                                               "EoMA": [19],
+                                               "ERTS": [20],
+                                               "ECTS": [21],
+                                               "EDPO": [22],
+                                               "EEoMACK": [23],
+                                               "EAbort": [24],
+                                               "BAM": [32],
+                                               "Abort": [255]
+                                       }
+                               }
+                       }
+               },
+               "51710": {
+                       "comment": "Request 2",
+                       "length": 8,
+                       "name": "RQST2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Use.Transfer.Mode" : {
+                                       "generic_name": "Use.Transfer.Mode",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Requester is to respond via the Transfer PGN",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "No": [0],
+                                               "Yes": [1],
+                                               "Undefined": [2],
+                                               "NA": [3]
+                                       }
+                               },
+                               "Parameter.Group.Number" : {
+                                       "generic_name": "Parameter.Group.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "PGN which is requested by Request2 message",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "60158": {
+                       "comment": "Request",
+                       "length": 3,
+                       "name": "RQST",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Parameter.Group.Number" : {
+                                       "generic_name": "Parameter.Group.Number",
+                                       "bit_position": -1,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "PGN which is requested by Request2 message",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64874": {
+                       "comment": "Axle Group Weight",
+                       "length": 8,
+                       "name": "AGW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Axle.Group.Weight" : {
+                                       "generic_name": "Axle.Group.Weight",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "Total mass imposed on the road surface by all the tires in the axle group",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Group.Location" : {
+                                       "generic_name": "Axle.Group.Location",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Specific axle group used in conjunction with and when communicating the axle group weight, listed from the front of the",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "SteerAxleGroup": [1],
+                                               "TrailerEAxleGroup": [2],
+                                               "TrailerFAxleGroup": [3]
+                                       }
+                               }
+                       }
+               },
+               "64873": {
+                       "comment": "Axle Group Calibration Weights",
+                       "length": 8,
+                       "name": "AGCW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Axle.Group.Location" : {
+                                       "generic_name": "Axle.Group.Location",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Specific axle group used in conjunction with and when communicating the axle group calibration, listed from the front of",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Reserved": [0],
+                                               "SteerAxleGroup": [1],
+                                               "TrailerEAxleGroup": [2],
+                                               "TrailerFAxleGroup": [3]
+                                       }
+                               },
+                               "Axle.Group.Full.Weight.Calib" : {
+                                       "generic_name": "Axle.Group.Full.Weight.Calib",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The full weight calibration measurement of an axle group",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Axle.Group.Empty.Weight.Calib" : {
+                                       "generic_name": "Axle.Group.Empty.Weight.Calib",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 128510,
+                                       "comment": "The empty weight calibration measurement of an axle group",
+                                       "unit": "kg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64849": {
+                       "comment": "Aftercooler Coolant Control Valve Command",
+                       "length": 8,
+                       "name": "ACCVC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Dsrd.Aftrcooler.Coolant.Intake.Temp" : {
+                                       "generic_name": "Dsrd.Aftrcooler.Coolant.Intake.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Indicates the desired temperature of the fluid in the low temperature aftercooler circuit to an electronic thermostat.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Dsrd.Aftrclr.Clnt.Thrmostat.Opening" : {
+                                       "generic_name": "Dsrd.Aftrclr.Clnt.Thrmostat.Opening",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Used to transmit the desired position of the low temperature aftercooler temperature control valve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aftrcooler.Coolant.Thermostat.Mode" : {
+                                       "generic_name": "Aftrcooler.Coolant.Thermostat.Mode",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Specifies if the aftercooler coolant thermostat valve will operate in temperature control mode or position control mode.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TempCtrlMode": [0],
+                                               "PosCtrlMode": [1],
+                                               "Reserved": [2],
+                                               "DontCare_Reserved": [3]
+                                       }
+                               }
+                       }
+               },
+               "64875": {
+                       "comment": "Available Axle Group Weights",
+                       "length": 8,
+                       "name": "AAGW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Addtnl.Trlr.Axl.Grp.Weight.Available" : {
+                                       "generic_name": "Addtnl.Trlr.Axl.Grp.Weight.Available",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the additional trailer axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AddtnlTrilerAxleGroupNotPresent": [0],
+                                               "AddtonalTrailerAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.HAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.HAxle.Group.Weight.Available",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer H axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerHAxleGroupNotPresent": [0],
+                                               "TrailerHAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.GAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.GAxle.Group.Weight.Available",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer G axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerGAxleGroupNotPresent": [0],
+                                               "TrailerGAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.FAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.FAxle.Group.Weight.Available",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer F axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerFAxleGroupNotPresent": [0],
+                                               "TrailerFAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.EAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.EAxle.Group.Weight.Available",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer E axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerEAxleGroupNotPresent": [0],
+                                               "TrailerEAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.DAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.DAxle.Group.Weight.Available",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer D axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerDAxleGroupNotPresent": [0],
+                                               "TrailerDAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.CAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.CAxle.Group.Weight.Available",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer C axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerCAxleGroupNotPresent": [0],
+                                               "TrailerCAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.BAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.BAxle.Group.Weight.Available",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer B axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerBAxleGroupNotPresent": [0],
+                                               "TrailerBAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Triler.AAxle.Group.Weight.Available" : {
+                                       "generic_name": "Triler.AAxle.Group.Weight.Available",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the trailer A axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TrailerAAxleGroupNotPresent": [0],
+                                               "TrailerAAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Addtnl.Trctr.Axl.Grp.Wight.Available" : {
+                                       "generic_name": "Addtnl.Trctr.Axl.Grp.Wight.Available",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the additional tractor axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AddtnlTrctorAxleGroupNotPresent": [0],
+                                               "AddtonalTractorAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Tag.Axle.Group.Weight.Available" : {
+                                       "generic_name": "Tag.Axle.Group.Weight.Available",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the tag axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "TagAxleGroupNotPresent": [0],
+                                               "TagAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Drive.Axle.Group.Weight.Available" : {
+                                       "generic_name": "Drive.Axle.Group.Weight.Available",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the drive axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DriveAxleGroupNotPresent": [0],
+                                               "DriveAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Lift.Axle.Group.Weight.Available" : {
+                                       "generic_name": "Lift.Axle.Group.Weight.Available",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the lift axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LiftAxleGroupNotPresent": [0],
+                                               "LiftAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               },
+                               "Steer.Axle.Group.Weight.Available" : {
+                                       "generic_name": "Steer.Axle.Group.Weight.Available",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates the availability of the steer axle group for purposes of weight measurement",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SteerAxleGroupNotPresent": [0],
+                                               "SteerAxleGroupPresent": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64852": {
+                       "comment": "Class C, Previously Active",
+                       "length": 22,
+                       "name": "DM52",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64853": {
+                       "comment": "Class C, Confirmed and Active",
+                       "length": 22,
+                       "name": "DM51",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64854": {
+                       "comment": "Class C, Pending",
+                       "length": 22,
+                       "name": "DM50",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64855": {
+                       "comment": "Class B2, Previously Active",
+                       "length": 22,
+                       "name": "DM49",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64856": {
+                       "comment": "Class B2, Confirmed and Active",
+                       "length": 22,
+                       "name": "DM48",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64857": {
+                       "comment": "Class B2, Pending",
+                       "length": 22,
+                       "name": "DM47",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64858": {
+                       "comment": "Class B1, Previously Active",
+                       "length": 22,
+                       "name": "DM46",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64859": {
+                       "comment": "Class B1, Confirmed and Active",
+                       "length": 22,
+                       "name": "DM45",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64860": {
+                       "comment": "Class B1, Pending",
+                       "length": 22,
+                       "name": "DM44",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64861": {
+                       "comment": "Class A, Previously Active",
+                       "length": 22,
+                       "name": "DM43",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64862": {
+                       "comment": "Class A, Confirmed and Active",
+                       "length": 22,
+                       "name": "DM42",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64863": {
+                       "comment": "Class A, Pending",
+                       "length": 22,
+                       "name": "DM41",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "40958": {
+                       "comment": "Immediate Fault Status ",
+                       "length": 22,
+                       "name": "DM35",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64871": {
+                       "comment": "Zero Net Vehicle Weight Change",
+                       "length": 8,
+                       "name": "ZNVW",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Zero.Net.Vehicle.Weight.Change" : {
+                                       "generic_name": "Zero.Net.Vehicle.Weight.Change",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Zero Net Vehicle Weight Change command.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NChangeToNetVehicleWeightChange": [0],
+                                               "ZeroNetVehicleWeightChange": [1],
+                                               "Reserved": [2],
+                                               "NotAvailable_NotApplicable": [3]
+                                       }
+                               }
+                       }
+               },
+               "64851": {
+                       "comment": "Reports averaged engine information",
+                       "length": 8,
+                       "name": "EAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Exhaust.Gas.Temp.Average.Bank2" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp.Average.Bank2",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The calculated average temperature based upon all of the Bank 2 (right bank) engine exhaust port temperatures.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Temp.Average.Bank1" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp.Average.Bank1",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The calculated average temperature based upon all of the Bank 1 (left bank) engine exhaust port temperatures.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Exhaust.Gas.Temp.Average" : {
+                                       "generic_name": "Eng.Exhaust.Gas.Temp.Average",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "The calculated average temperature based upon all of the engine exhaust port temperatures.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "40702": {
+                       "comment": "DTC Counts",
+                       "length": 8,
+                       "name": "DM29",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Permanent.DTCs" : {
+                                       "generic_name": "Permanent.DTCs",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies the current number of permanent DTCs",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Previously.MILOn.DTCs" : {
+                                       "generic_name": "Previously.MILOn.DTCs",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies the current number of previously MIL-On DTCs",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "MILOnDTCs" : {
+                                       "generic_name": "MILOnDTCs",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies the current number of MIL-On DTCs",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "All.Pending.DTCs" : {
+                                       "generic_name": "All.Pending.DTCs",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies the current total number of pending DTCs, including emission related",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pending.DTCs" : {
+                                       "generic_name": "Pending.DTCs",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Identifies the current number of emission related pending DTCs",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64896": {
+                       "comment": "Permanent DTCs",
+                       "length": 22,
+                       "name": "DM28",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64898": {
+                       "comment": "All Pending DTCs",
+                       "length": 22,
+                       "name": "DM27",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Flash.Red.Stop.Lamp" : {
+                                       "generic_name": "Flash.Red.Stop.Lamp",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the RSL (SPN 3039).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Protect.Lamp" : {
+                                       "generic_name": "Flash.Protect.Lamp",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the engine protect lamp (SPN 3041).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Malfunc.Indicator.Lamp" : {
+                                       "generic_name": "Flash.Malfunc.Indicator.Lamp",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the MIL (SPN 3038).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Flash.Amber.Warning.Lamp" : {
+                                       "generic_name": "Flash.Amber.Warning.Lamp",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter provides the capability to flash the AWL (SPN 3040). ",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Slow Flash": [0],
+                                               "Fast Flash": [1],
+                                               "Reserved": [2],
+                                               "Unavailable / Do Not Flash": [3]
+                                       }
+                               },
+                               "Malfunction.Indicator.Lamp.Status" : {
+                                       "generic_name": "Malfunction.Indicator.Lamp.Status",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "A lamp used to relay only emissions-related trouble code information.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Amber.Warning.Lamp.Status" : {
+                                       "generic_name": "Amber.Warning.Lamp.Status",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code information that is reporting a problem with the vehicle system but the vehicle neednot be immediately stopped.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Red.Stop.Lamp.State" : {
+                                       "generic_name": "Red.Stop.Lamp.State",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is uesed to relay trouble code information that is of a severe enought condition that it warrants stopping the vehicle.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "Protect.Lamp.Status" : {
+                                       "generic_name": "Protect.Lamp.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This lamp is used to relay trouble code informatio that is reporting a problem with a vehicle system that is mostprobably not electronic subsystem related.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Lamp off": [0],
+                                               "Lamp on": [1],
+                                               "Reserved": [2],
+                                               "Not available": [3]
+                                       }
+                               },
+                               "DTC5" : {
+                                       "generic_name": "DTC5",
+                                       "bit_position": 143,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC4" : {
+                                       "generic_name": "DTC4",
+                                       "bit_position": 111,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC3" : {
+                                       "generic_name": "DTC3",
+                                       "bit_position": 79,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC2" : {
+                                       "generic_name": "DTC2",
+                                       "bit_position": 47,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "DTC1" : {
+                                       "generic_name": "DTC1",
+                                       "bit_position": 15,
+                                       "bit_size": 32,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4294967295,
+                                       "comment": "Diagnostic Trouble Code",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64912": {
+                       "comment": "Advertised Engine Torque Curve",
+                       "length": 5,
+                       "name": "AETC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "A.ETCSpeed.Value" : {
+                                       "generic_name": "A.ETCSpeed.Value",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 8031.875,
+                                       "comment": "None",
+                                       "unit": "rpm",
+                                       "is_big_endian": false,
+                                       "is_signed": true
+                               },
+                               "A.ETCTorque.Value" : {
+                                       "generic_name": "A.ETCTorque.Value",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Engine torque value of the data points in PGN 64912 Advertised Engine Torque Curve (AETC).",
+                                       "unit": "Nm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Number.Of.AETCData.Points" : {
+                                       "generic_name": "Number.Of.AETCData.Points",
+                                       "bit_position": 3,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the number of speed / torque data points contained in the Advertised Engine Torque Curve broadcast (AETC).",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "A.ETCData.Collection.Standard" : {
+                                       "generic_name": "A.ETCData.Collection.Standard",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates the standardized method by which torque data was obtained for the Advertised Engine Torque Curve (AETC).",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SAEJ1995": [0],
+                                               "1101NotDefined": [1],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "64894": {
+                       "comment": "Adaptive Front-Lighting System Status",
+                       "length": 8,
+                       "name": "AFSS",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Right.Headlamp.Light.Distribution" : {
+                                       "generic_name": "Right.Headlamp.Light.Distribution",
+                                       "bit_position": 11,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates what kind of light distribution is set by the AFS system for the right headlamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LghtDstrbtnTwnBscLghtDstrbtnFrT": [0],
+                                               "LghtDstrbtnCntryCntryLghtIsMstl": [1],
+                                               "LghtDstrbtnMtrwyTskOfMtrwyLghtI": [2],
+                                               "LghtDstrbtnHghBmHghBmDstrbtnOfT": [3],
+                                               "LghtDstrbtnAdvrsWthrAdvrsWthrLg": [4],
+                                               "LghtDstrbtnFlSfPsMdlIsDmgdCrrnt": [5],
+                                               "LghtDstrbtnFlrMdlIsDmgdCrrntPsM": [6],
+                                               "DffrntLghtDstrbtnsNtAvlblNAFSDs": [7],
+                                               "1110Reserved": [8],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Left.Headlamp.Light.Distribution" : {
+                                       "generic_name": "Left.Headlamp.Light.Distribution",
+                                       "bit_position": 7,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "This parameter indicates what kind of light distribution is set by the AFS system for the left headlamp.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LghtDstrbtnTwnBscLghtDstrbtnFrT": [0],
+                                               "LghtDstrbtnCntryCntryLghtIsMstl": [1],
+                                               "LghtDstrbtnMtrwyTskOfMtrwyLghtI": [2],
+                                               "LghtDstrbtnHghBmHghBmDstrbtnOfT": [3],
+                                               "LghtDstrbtnAdvrsWthrAdvrsWthrLg": [4],
+                                               "LghtDstrbtnFlSfPsMdlIsDmgdCrrnt": [5],
+                                               "LghtDstrbtnFlrMdlIsDmgdCrrntPsM": [6],
+                                               "DffrntLghtDstrbtnsNtAvlblNAFSDs": [7],
+                                               "1110Reserved": [8],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Rght.Headlamp.Dynamic.Bending.Light" : {
+                                       "generic_name": "Rght.Headlamp.Dynamic.Bending.Light",
+                                       "bit_position": 2,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter indicates whether the dynamic bending light of the left headlamp is working properly.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DynmcBndngLghtDctvtdThrIsNPrblm": [0],
+                                               "DynmcBndngLghtIsWrkngPrprlyNrml": [1],
+                                               "DynmcBndngLghtFlSfPsBndngLghtIs": [2],
+                                               "DynmcBndngLghtFlrBndngLghtDsNtW": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Left.Headlamp.Dynamic.Bending.Light" : {
+                                       "generic_name": "Left.Headlamp.Dynamic.Bending.Light",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter indicates whether the dynamic bending light of the left headlamp is working properly.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "DynmcBndngLghtDctvtdThrIsNPrblm": [0],
+                                               "DynmcBndngLghtIsWrkngPrprlyNrml": [1],
+                                               "DynmcBndngLghtFlSfPsBndngLghtIs": [2],
+                                               "DynmcBndngLghtFlrBndngLghtDsNtW": [3],
+                                               "110Reserved": [4],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "65241": {
+                       "comment": "Auxiliary Input/Output Status 1",
+                       "length": 8,
+                       "name": "AUXIO1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "AuxI_O16" : {
+                                       "generic_name": "AuxI_O16",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O15" : {
+                                       "generic_name": "AuxI_O15",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O14" : {
+                                       "generic_name": "AuxI_O14",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O13" : {
+                                       "generic_name": "AuxI_O13",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O12" : {
+                                       "generic_name": "AuxI_O12",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O11" : {
+                                       "generic_name": "AuxI_O11",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O10" : {
+                                       "generic_name": "AuxI_O10",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O09" : {
+                                       "generic_name": "AuxI_O09",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O08" : {
+                                       "generic_name": "AuxI_O08",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O07" : {
+                                       "generic_name": "AuxI_O07",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O06" : {
+                                       "generic_name": "AuxI_O06",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O05" : {
+                                       "generic_name": "AuxI_O05",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O04" : {
+                                       "generic_name": "AuxI_O04",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O03" : {
+                                       "generic_name": "AuxI_O03",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O02" : {
+                                       "generic_name": "AuxI_O02",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "AuxI_O01" : {
+                                       "generic_name": "AuxI_O01",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Aux.I_.OChannel2" : {
+                                       "generic_name": "Aux.I_.OChannel2",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Auxiliary channel of data (16 bit) read by the ECU.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.I_.OChannel1" : {
+                                       "generic_name": "Aux.I_.OChannel1",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 64255,
+                                       "comment": "Auxiliary channel of data (16 bit) read by the ECU.",
+                                       "unit": "counts",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "43006": {
+                       "comment": "Auxiliary Input/Output Status 2",
+                       "length": 8,
+                       "name": "AUXIO2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "AuxI_O45" : {
+                                       "generic_name": "AuxI_O45",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O46" : {
+                                       "generic_name": "AuxI_O46",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O47" : {
+                                       "generic_name": "AuxI_O47",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O48" : {
+                                       "generic_name": "AuxI_O48",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O41" : {
+                                       "generic_name": "AuxI_O41",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O42" : {
+                                       "generic_name": "AuxI_O42",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O43" : {
+                                       "generic_name": "AuxI_O43",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O44" : {
+                                       "generic_name": "AuxI_O44",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O37" : {
+                                       "generic_name": "AuxI_O37",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O38" : {
+                                       "generic_name": "AuxI_O38",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O39" : {
+                                       "generic_name": "AuxI_O39",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O40" : {
+                                       "generic_name": "AuxI_O40",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O33" : {
+                                       "generic_name": "AuxI_O33",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O34" : {
+                                       "generic_name": "AuxI_O34",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O35" : {
+                                       "generic_name": "AuxI_O35",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O36" : {
+                                       "generic_name": "AuxI_O36",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O29" : {
+                                       "generic_name": "AuxI_O29",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O30" : {
+                                       "generic_name": "AuxI_O30",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O31" : {
+                                       "generic_name": "AuxI_O31",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O32" : {
+                                       "generic_name": "AuxI_O32",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O25" : {
+                                       "generic_name": "AuxI_O25",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O26" : {
+                                       "generic_name": "AuxI_O26",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O27" : {
+                                       "generic_name": "AuxI_O27",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O28" : {
+                                       "generic_name": "AuxI_O28",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O21" : {
+                                       "generic_name": "AuxI_O21",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O22" : {
+                                       "generic_name": "AuxI_O22",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O23" : {
+                                       "generic_name": "AuxI_O23",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O24" : {
+                                       "generic_name": "AuxI_O24",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O17" : {
+                                       "generic_name": "AuxI_O17",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O18" : {
+                                       "generic_name": "AuxI_O18",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O19" : {
+                                       "generic_name": "AuxI_O19",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O20" : {
+                                       "generic_name": "AuxI_O20",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               }
+                       }
+               },
+               "42750": {
+                       "comment": "Auxiliary Input/Output Status 3",
+                       "length": 8,
+                       "name": "AUXIO3",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "AuxI_O77" : {
+                                       "generic_name": "AuxI_O77",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O78" : {
+                                       "generic_name": "AuxI_O78",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O79" : {
+                                       "generic_name": "AuxI_O79",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O80" : {
+                                       "generic_name": "AuxI_O80",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O73" : {
+                                       "generic_name": "AuxI_O73",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O74" : {
+                                       "generic_name": "AuxI_O74",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O75" : {
+                                       "generic_name": "AuxI_O75",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O76" : {
+                                       "generic_name": "AuxI_O76",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O69" : {
+                                       "generic_name": "AuxI_O69",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O70" : {
+                                       "generic_name": "AuxI_O70",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O71" : {
+                                       "generic_name": "AuxI_O71",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O72" : {
+                                       "generic_name": "AuxI_O72",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O65" : {
+                                       "generic_name": "AuxI_O65",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O66" : {
+                                       "generic_name": "AuxI_O66",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O67" : {
+                                       "generic_name": "AuxI_O67",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O68" : {
+                                       "generic_name": "AuxI_O68",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O61" : {
+                                       "generic_name": "AuxI_O61",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O62" : {
+                                       "generic_name": "AuxI_O62",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O63" : {
+                                       "generic_name": "AuxI_O63",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O64" : {
+                                       "generic_name": "AuxI_O64",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O57" : {
+                                       "generic_name": "AuxI_O57",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O58" : {
+                                       "generic_name": "AuxI_O58",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O59" : {
+                                       "generic_name": "AuxI_O59",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O60" : {
+                                       "generic_name": "AuxI_O60",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O53" : {
+                                       "generic_name": "AuxI_O53",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O54" : {
+                                       "generic_name": "AuxI_O54",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O55" : {
+                                       "generic_name": "AuxI_O55",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O56" : {
+                                       "generic_name": "AuxI_O56",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O49" : {
+                                       "generic_name": "AuxI_O49",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O50" : {
+                                       "generic_name": "AuxI_O50",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O51" : {
+                                       "generic_name": "AuxI_O51",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O52" : {
+                                       "generic_name": "AuxI_O52",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               }
+                       }
+               },
+               "42494": {
+                       "comment": "Auxiliary Input/Output Status 4",
+                       "length": 8,
+                       "name": "AUXIO4",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "AuxI_O92" : {
+                                       "generic_name": "AuxI_O92",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O85" : {
+                                       "generic_name": "AuxI_O85",
+                                       "bit_position": 13,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O86" : {
+                                       "generic_name": "AuxI_O86",
+                                       "bit_position": 11,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O87" : {
+                                       "generic_name": "AuxI_O87",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O88" : {
+                                       "generic_name": "AuxI_O88",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O81" : {
+                                       "generic_name": "AuxI_O81",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O82" : {
+                                       "generic_name": "AuxI_O82",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O83" : {
+                                       "generic_name": "AuxI_O83",
+                                       "bit_position": 1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O84" : {
+                                       "generic_name": "AuxI_O84",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O109" : {
+                                       "generic_name": "AuxI_O109",
+                                       "bit_position": 61,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O110" : {
+                                       "generic_name": "AuxI_O110",
+                                       "bit_position": 59,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O111" : {
+                                       "generic_name": "AuxI_O111",
+                                       "bit_position": 57,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O112" : {
+                                       "generic_name": "AuxI_O112",
+                                       "bit_position": 55,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O105" : {
+                                       "generic_name": "AuxI_O105",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O106" : {
+                                       "generic_name": "AuxI_O106",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O107" : {
+                                       "generic_name": "AuxI_O107",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O108" : {
+                                       "generic_name": "AuxI_O108",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O101" : {
+                                       "generic_name": "AuxI_O101",
+                                       "bit_position": 45,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O102" : {
+                                       "generic_name": "AuxI_O102",
+                                       "bit_position": 43,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O103" : {
+                                       "generic_name": "AuxI_O103",
+                                       "bit_position": 41,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O104" : {
+                                       "generic_name": "AuxI_O104",
+                                       "bit_position": 39,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O97" : {
+                                       "generic_name": "AuxI_O97",
+                                       "bit_position": 37,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O98" : {
+                                       "generic_name": "AuxI_O98",
+                                       "bit_position": 35,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O99" : {
+                                       "generic_name": "AuxI_O99",
+                                       "bit_position": 33,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O100" : {
+                                       "generic_name": "AuxI_O100",
+                                       "bit_position": 31,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O93" : {
+                                       "generic_name": "AuxI_O93",
+                                       "bit_position": 29,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O94" : {
+                                       "generic_name": "AuxI_O94",
+                                       "bit_position": 27,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O95" : {
+                                       "generic_name": "AuxI_O95",
+                                       "bit_position": 25,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O96" : {
+                                       "generic_name": "AuxI_O96",
+                                       "bit_position": 23,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O89" : {
+                                       "generic_name": "AuxI_O89",
+                                       "bit_position": 21,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O90" : {
+                                       "generic_name": "AuxI_O90",
+                                       "bit_position": 19,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               },
+                               "AuxI_O91" : {
+                                       "generic_name": "AuxI_O91",
+                                       "bit_position": 17,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Identifies the current status of auxiliary input/output functions that are configured uniquely per application.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AuxChannelOff": [0],
+                                               "AuxChannelOn": [1],
+                                               "ErrrIndctrNotUsedDependingOnApp": [2],
+                                               "NtAvlblTkNoActionDependingOnApp": [3]
+                                       }
+                               }
+                       }
+               },
+               "64881": {
+                       "comment": "Brake actuator stroke status",
+                       "length": 8,
+                       "name": "BSA",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trailer.Brake.Stroke.Axle5.Right" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle5.Right",
+                                       "bit_position": 56,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on trailer axle 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle5.Left" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle5.Left",
+                                       "bit_position": 53,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on trailer axle 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle4.Right" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle4.Right",
+                                       "bit_position": 50,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on trailer axle 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle4.Left" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle4.Left",
+                                       "bit_position": 47,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on trailer axle 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle3.Right" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle3.Right",
+                                       "bit_position": 44,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on trailer axle 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle3.Left" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle3.Left",
+                                       "bit_position": 41,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on trailer axle 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle2.Right" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle2.Right",
+                                       "bit_position": 38,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on trailer axle 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle2.Left" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle2.Left",
+                                       "bit_position": 35,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on trailer axle 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle1.Right" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle1.Right",
+                                       "bit_position": 32,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on trailer axle 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Trailer.Brake.Stroke.Axle1.Left" : {
+                                       "generic_name": "Trailer.Brake.Stroke.Axle1.Left",
+                                       "bit_position": 29,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on trailerr axle 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle5.Right" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle5.Right",
+                                       "bit_position": 26,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on tractor axle 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle5.Left" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle5.Left",
+                                       "bit_position": 23,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on tractor axle 5.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle4.Right" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle4.Right",
+                                       "bit_position": 20,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on tractor axle 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle4.Left" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle4.Left",
+                                       "bit_position": 17,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on tractor axle 4.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle3.Right" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle3.Right",
+                                       "bit_position": 14,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on tractor axle 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle3.Left" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle3.Left",
+                                       "bit_position": 11,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on tractor axle 3.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle2.Right" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle2.Right",
+                                       "bit_position": 8,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on tractor axle 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle2.Left" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle2.Left",
+                                       "bit_position": 5,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on tractor axle 2.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle1.Right" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle1.Right",
+                                       "bit_position": 2,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for right brake actuator on tractor axle 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               },
+                               "Tractor.Brake.Stroke.Axle1.Left" : {
+                                       "generic_name": "Tractor.Brake.Stroke.Axle1.Left",
+                                       "bit_position": -1,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Brake stroke status for left brake actuator on tractor axle 1.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OK": [0],
+                                               "Nonfunctioning": [1],
+                                               "Overstroke": [2],
+                                               "DraggingBrake": [3],
+                                               "Reserved": [5],
+                                               "SensorError": [6],
+                                               "NotAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "65269": {
+                       "comment": "Ambient Conditions",
+                       "length": 8,
+                       "name": "AMB",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Air.Intake.Temp" : {
+                                       "generic_name": "Eng.Air.Intake.Temp",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of air entering vehicle air induction system.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Road.Surface.Temp" : {
+                                       "generic_name": "Road.Surface.Temp",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Indicated temperature of road surface over which vehicle is operating.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Ambient.Air.Temp" : {
+                                       "generic_name": "Ambient.Air.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of air surrounding vehicle.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Cab.Interior.Temp" : {
+                                       "generic_name": "Cab.Interior.Temp",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of air inside the part of the vehicle that encloses the driver and vehicle operating controls.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Barometric.Press" : {
+                                       "generic_name": "Barometric.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "Absolute air pressure of the atmosphere.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65246": {
+                       "comment": "Air Start Pressure",
+                       "length": 8,
+                       "name": "AIR2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Air.Start.Press" : {
+                                       "generic_name": "Eng.Air.Start.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of air in an engine starting system that utilizes compressed air to provide the force required to rotate the",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65198": {
+                       "comment": "Air Supply Pressure",
+                       "length": 8,
+                       "name": "AIR1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Service.Brake.Circuit2.Air.Press" : {
+                                       "generic_name": "Service.Brake.Circuit2.Air.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the secondary service brake circuit or reservoir, supplying the front axle.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Service.Brake.Circuit1.Air.Press" : {
+                                       "generic_name": "Service.Brake.Circuit1.Air.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the primary service brake circuit or reservoir, supplying the rear axle.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Air.Compressor.Status" : {
+                                       "generic_name": "Air.Compressor.Status",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates whether the air compressor is actively compressing air.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompressorNotActive": [0],
+                                               "CompressorActive": [1],
+                                               "ErrorIndicator": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Air.Suspension.Supply.Press" : {
+                                       "generic_name": "Air.Suspension.Supply.Press",
+                                       "bit_position": 39,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the circuit for the electronically controlled air suspension system.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Equipment.Supply.Press" : {
+                                       "generic_name": "Aux.Equipment.Supply.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the auxiliary circuit.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Parking.And_.Or.Trailer.Air.Press" : {
+                                       "generic_name": "Parking.And_.Or.Trailer.Air.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the circuit or reservoir for the parking brake and/or the trailer supply.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pneumatic.Supply.Press" : {
+                                       "generic_name": "Pneumatic.Supply.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 8,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2000,
+                                       "comment": "The pneumatic pressure in the main reservoir, sometimes referred to as the wet tank.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65273": {
+                       "comment": "Axle Information",
+                       "length": 8,
+                       "name": "AI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Steer.Axle.Lube.Press" : {
+                                       "generic_name": "Steer.Axle.Lube.Press",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "The steering axle lubricant pressure.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Steer.Axle.Temp" : {
+                                       "generic_name": "Steer.Axle.Temp",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of lubricant in steering axle.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Axle.Lube.Press" : {
+                                       "generic_name": "Drive.Axle.Lube.Press",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "The drive axle lubricant pressure with location determined by Drive Axle Location (SPN 930).",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Axle.Temp" : {
+                                       "generic_name": "Drive.Axle.Temp",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature of axle lubricant in drive axle.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Axle.Lift.Air.Press" : {
+                                       "generic_name": "Drive.Axle.Lift.Air.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 1000,
+                                       "comment": "Gage pressure of air in system that utilizes compressed air to provide force between axle and frame.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Drive.Axle.Location" : {
+                                       "generic_name": "Drive.Axle.Location",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "To identify to which of several similar devices (such as tires or fuel tanks) the information applies.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65194": {
+                       "comment": "Alternate Fuel 2",
+                       "length": 8,
+                       "name": "AF2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Turbo.Wastegate.Valve.Pos" : {
+                                       "generic_name": "Eng.Turbo.Wastegate.Valve.Pos",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "The position of the turbocharger wastegate valve (not the electronic wastegate control valve).",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gs.Mss.Flw.Snsr.Feling.Correction" : {
+                                       "generic_name": "Eng.Gs.Mss.Flw.Snsr.Feling.Correction",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "The amount of fuel the Gas Mass Flow Sensor is sensing should be added or subtracted compared to the maximum",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Dsired.Abs.Intake.Manifold.Press" : {
+                                       "generic_name": "Eng.Dsired.Abs.Intake.Manifold.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "The desired absolute intake manifold pressure of the engine.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gas.Fuel.Correction.Factor" : {
+                                       "generic_name": "Eng.Gas.Fuel.Correction.Factor",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "A correction to a predefined gaseous fuel energy (expressed in energy per unit volume) represented as a percentage.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65105": {
+                       "comment": "Adaptive Cruise Control, Operator Input",
+                       "length": 8,
+                       "name": "ACC2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "A.CCUsage.Demand" : {
+                                       "generic_name": "A.CCUsage.Demand",
+                                       "bit_position": -1,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates the drivers demand to activate or deactivate ACC keeping distance control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "drvrDmndFrNtUsngACCDstncKpngCtr": [0],
+                                               "drvrDmndFrUsngACCDstncKpingCtrl": [1],
+                                               "reserved": [2],
+                                               "dontCare": [3]
+                                       }
+                               },
+                               "Rqed.ACCDistance.Mode" : {
+                                       "generic_name": "Rqed.ACCDistance.Mode",
+                                       "bit_position": 4,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "The Requested Distance Control Mode to the ACC system from the operators interface.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RqedACCDistanceMode1": [0],
+                                               "RqedACCDistanceMode2": [1],
+                                               "RqedACCDistanceMode3": [2],
+                                               "RqedACCDistanceMode4": [3],
+                                               "RqedACCDistanceMode5": [4],
+                                               "notDefined": [5],
+                                               "errorCondition": [6],
+                                               "notAvailable": [7]
+                                       }
+                               }
+                       }
+               },
+               "65135": {
+                       "comment": "Adaptive Cruise Control",
+                       "length": 8,
+                       "name": "ACC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Forward.Collision.Warning" : {
+                                       "generic_name": "Forward.Collision.Warning",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "This parameter indicates if a collision is imminent and strong driver reaction either by braking hard or by an avoidance",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoWarning": [0],
+                                               "CollisionIsImminent": [1],
+                                               "ErrorIndicator": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "A.CCDistance.Alert.Signal" : {
+                                       "generic_name": "A.CCDistance.Alert.Signal",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal to indicate to the operator that the ACC system is not able to maintain the distance to the target.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ACCDASNotActive": [0],
+                                               "ACCDASActive": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "A.CCSystem.Shutoff.Warning" : {
+                                       "generic_name": "A.CCSystem.Shutoff.Warning",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal to warn the driver of system deactivation due to non-driver actions.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ACCSSOWNotActive": [0],
+                                               "ACCSSOWActive": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "A.CCTarget.Detected" : {
+                                       "generic_name": "A.CCTarget.Detected",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal to indicate to the driver that the ACC system has detected a target.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NoTargetsDetected": [0],
+                                               "TargetDetected": [1],
+                                               "Reserved": [2],
+                                               "TakeNoAction": [3]
+                                       }
+                               },
+                               "Road.Curvature" : {
+                                       "generic_name": "Road.Curvature",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.0078125,
+                                       "offset": -250,
+                                       "min_value": -250,
+                                       "max_value": 251.992,
+                                       "comment": "Estimated value of the current road curvature for use by the adaptive cruise control system.",
+                                       "unit": "1/km",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Adptve.Cruise.Ctrl.Set.Distance.Mode" : {
+                                       "generic_name": "Adptve.Cruise.Ctrl.Set.Distance.Mode",
+                                       "bit_position": 26,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "Selected distance mode for adaptive cruise control.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ACCDistanceMode1": [0],
+                                               "ACCDistanceMode2": [1],
+                                               "ACCDistanceMode3": [2],
+                                               "ACCDistanceMode4": [3],
+                                               "ACCDistanceMode5": [4],
+                                               "ConventionalCruiseCtrlMode": [5],
+                                               "ErrorCondition": [6],
+                                               "NotAvailable_NotValid": [7]
+                                       }
+                               },
+                               "Adaptive.Cruise.Ctrl.Mode" : {
+                                       "generic_name": "Adaptive.Cruise.Ctrl.Mode",
+                                       "bit_position": 23,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "This parameter is used to indicate the current state, or mode, of operation by the Adaptive Cruise Control (ACC) device.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "OffUsdTIndctACCIsEnbldInClbCnfg": [0],
+                                               "SpeedCtrlActive": [1],
+                                               "DstncCtrlActvUsdTIndctThtACCIsO": [2],
+                                               "OvertakeMode": [3],
+                                               "HldMdUsdTIndctThtACCHsLstThPrvs": [4],
+                                               "FinishMode": [5],
+                                               "DsbldErrrCndtnUsdTIndctThtACCIs": [6],
+                                               "NotAvailable_NotValid": [7]
+                                       }
+                               },
+                               "Adaptive.Cruise.Ctrl.Set.Speed" : {
+                                       "generic_name": "Adaptive.Cruise.Ctrl.Set.Speed",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Value of the desired (chosen) velocity of the adaptive cruise control system.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Distance.To.Forward.Vehicle" : {
+                                       "generic_name": "Distance.To.Forward.Vehicle",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Distance to the preceding vehicle situated within 250 m in the same lane and moving in the same direction.",
+                                       "unit": "m",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Speed.Of.Forward.Vehicle" : {
+                                       "generic_name": "Speed.Of.Forward.Vehicle",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Absolute velocity of the preceding vehicle situated within 250 m in the same lane and moving in the same direction.",
+                                       "unit": "km/h",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65192": {
+                       "comment": "Articulation Control",
+                       "length": 8,
+                       "name": "AC",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Articulation.Angle" : {
+                                       "generic_name": "Articulation.Angle",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Angle of deflection of an articulated transit vehicle.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65164": {
+                       "comment": "Auxiliary Analog Information",
+                       "length": 8,
+                       "name": "AAI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Relative.Humidity" : {
+                                       "generic_name": "Relative.Humidity",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Measures humidity of combustion air prior to entry into turbocharger",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Level" : {
+                                       "generic_name": "Aux.Level",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 6425.5,
+                                       "comment": "Level measured by a sensor.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Press2" : {
+                                       "generic_name": "Aux.Press2",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Pressure measured by auxiliary pressure sensor #2.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Press1" : {
+                                       "generic_name": "Aux.Press1",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Pressure measured by auxiliary pressure sensor #1.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Temp2" : {
+                                       "generic_name": "Aux.Temp2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature measured by auxiliary temperature sensor #2.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Aux.Temp1" : {
+                                       "generic_name": "Aux.Temp1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -40,
+                                       "min_value": -40,
+                                       "max_value": 210,
+                                       "comment": "Temperature measured by auxiliary temperature sensor #1.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65277": {
+                       "comment": "Alternate Fuel 1",
+                       "length": 8,
+                       "name": "A1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Eng.Blower.Bypass.Valve.Pos" : {
+                                       "generic_name": "Eng.Blower.Bypass.Valve.Pos",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Relative position of the blower bypass valve.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Eng.Gas.Supply.Press" : {
+                                       "generic_name": "Eng.Gas.Supply.Press",
+                                       "bit_position": 7,
+                                       "bit_size": 16,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 32127.5,
+                                       "comment": "Gage pressure of gas supply to fuel metering device.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "59646": {
+                       "comment": "Acknowledgment Message",
+                       "length": 8,
+                       "name": "ACKM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Address.Busy" : {
+                                       "generic_name": "Address.Busy",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "3",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Control.Byte" : {
+                                       "generic_name": "Control.Byte",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "Multiplexor",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ACK": [0],
+                                               "NACK": [1],
+                                               "AccessDenied": [2],
+                                               "CannotRespond": [3]
+                                       }
+                               },
+                               "Parameter.Group.Number" : {
+                                       "generic_name": "Parameter.Group.Number",
+                                       "bit_position": 39,
+                                       "bit_size": 24,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 16777215,
+                                       "comment": "PGN which is requested by Request2 message",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Group.Function.Value" : {
+                                       "generic_name": "Group.Function.Value",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Group Function of PGN being acknowledged. This field identifies for a device the specific group function of a PGN being acknowledged or declined.  This field is not used if the PGN being acknowledged or declined is not a group function PGN.",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Address.Access.Denied" : {
+                                       "generic_name": "Address.Access.Denied",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "2",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Address.Negative.Acknowledgement" : {
+                                       "generic_name": "Address.Negative.Acknowledgement",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "1",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Address.Acknowledged" : {
+                                       "generic_name": "Address.Acknowledged",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "None",
+                                       "multiplex": "0",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65102": {
+                       "comment": "Door Control 1",
+                       "length": 8,
+                       "name": "DC1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Status2.Of.Doors" : {
+                                       "generic_name": "Status2.Of.Doors",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Composite indication of all bus door statuses.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "allBusDoorsAreDisabled": [0],
+                                               "atLeast1BusDoorEnabled": [1],
+                                               "error": [2],
+                                               "notAvailable": [3]
+                                       }
+                               },
+                               "Ramp_.Wheel.Chair.Lift.Pos" : {
+                                       "generic_name": "Ramp_.Wheel.Chair.Lift.Pos",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Signal which indicates the actual position of the ramp / wheel chair lift.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "InsideBus": [0],
+                                               "OutsideBus": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pos.Of.Doors" : {
+                                       "generic_name": "Pos.Of.Doors",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Signal which indicates the actual position of the doors.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "AtLeast1DoorIsOpen": [0],
+                                               "ClosingLastDoor": [1],
+                                               "AllDoorsClosed": [2],
+                                               "1101NotDefined": [3],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "61458": {
+                       "comment": "Fifth Wheel Smart Systems 1",
+                       "length": 8,
+                       "name": "FWSS1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fifth.Wheel.Roll.Warning.Indicator" : {
+                                       "generic_name": "Fifth.Wheel.Roll.Warning.Indicator",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates to the vehicle operator that the roll moment has exceeded a preset limit.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LimitNotExceeded": [0],
+                                               "LimitExceeded": [1],
+                                               "error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Fifth.Wheel.Roll.Moment" : {
+                                       "generic_name": "Fifth.Wheel.Roll.Moment",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 10,
+                                       "offset": -320000,
+                                       "min_value": -320000,
+                                       "max_value": 322550,
+                                       "comment": "Fifth wheel roll moment force - If the moment is positive, the trailer is rolling clockwise relative to the normal vehicle",
+                                       "unit": "N",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fifth.Wheel.Drawbar.Force" : {
+                                       "generic_name": "Fifth.Wheel.Drawbar.Force",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 10,
+                                       "offset": -320000,
+                                       "min_value": -320000,
+                                       "max_value": 322550,
+                                       "comment": "Fifth wheel drawbar force, with the trailer held stationary a positive force is generated by the vehicle pulling forward.",
+                                       "unit": "N",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Fifth.Wheel.Vertical.Force" : {
+                                       "generic_name": "Fifth.Wheel.Vertical.Force",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 321275,
+                                       "comment": "The amount of load being applied to the fifth wheel by the trailer.",
+                                       "unit": "N",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64942": {
+                       "comment": "Fifth Wheel Smart Systems 2",
+                       "length": 8,
+                       "name": "FWSS2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Fifth.Wheel.Slider.Lock.Indicator" : {
+                                       "generic_name": "Fifth.Wheel.Slider.Lock.Indicator",
+                                       "bit_position": 15,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates to vehicle operator that the fifth wheel slider is in position and locked.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NotLocked": [0],
+                                               "Locked": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Fifth.Wheel.Slider.Pos" : {
+                                       "generic_name": "Fifth.Wheel.Slider.Pos",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 10,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 2500,
+                                       "comment": "Slider position measurement.",
+                                       "unit": "mm",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Ffth.Whl.Lck.Couple.Status.Indicator" : {
+                                       "generic_name": "Ffth.Whl.Lck.Couple.Status.Indicator",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates results of coupling operation to the vehicle operator.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "IncmpltBdCplTrckShuldNotBeMoved": [0],
+                                               "SuccessfulCoupleDetected": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Ffth.Whl.Lck.Rady.To.Couple.Indicator" : {
+                                       "generic_name": "Ffth.Whl.Lck.Rady.To.Couple.Indicator",
+                                       "bit_position": 3,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Indicates to the vehicle operator that the fifth wheel lock is open and ready to couple.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LockNotOpenNotReadyToCouple": [0],
+                                               "LockOpenReadyToCouple": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Fifth.Wheel.Error.Status" : {
+                                       "generic_name": "Fifth.Wheel.Error.Status",
+                                       "bit_position": -1,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Fifth wheel error state which conveys information when coupling status is incomplete or bad.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "ImproperCouple": [0],
+                                               "LocksClosed_NoKingpinAtStartup": [1],
+                                               "Kingpin_LocksOpenAtStartup": [2],
+                                               "CouplingSequenceError": [5],
+                                               "CouplingSequenceError_Kingpin": [6],
+                                               "CouplingTimingError": [7],
+                                               "KingpinMissingMoreThan5Seconds": [8],
+                                               "Kingpin_LockOpen": [9],
+                                               "NotUsed": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               }
+                       }
+               },
+               "61459": {
+                       "comment": "Slope Sensor Information",
+                       "length": 8,
+                       "name": "SSI",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Roll.And.Pitch.Measurement.Latency" : {
+                                       "generic_name": "Roll.And.Pitch.Measurement.Latency",
+                                       "bit_position": 55,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 125,
+                                       "comment": "The estimated measurement latency of the measurement.",
+                                       "unit": "ms",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pitch.And.Roll.Compensated" : {
+                                       "generic_name": "Pitch.And.Roll.Compensated",
+                                       "bit_position": 53,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Compensated mode for the pitch and roll measurements.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CompensationOn": [0],
+                                               "NotAvailable": [1, 3],
+                                               "Error": [2]
+                                       }
+                               },
+                               "Pitch.Rate.Figure.Of.Merit" : {
+                                       "generic_name": "Pitch.Rate.Figure.Of.Merit",
+                                       "bit_position": 51,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for the pitch rate measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PtchRtDgrddDtIsSspctDTEnvrnmntl": [0],
+                                               "NotAvailable": [1, 3],
+                                               "Error": [2]
+                                       }
+                               },
+                               "Roll.Angle.Figure.Of.Merit" : {
+                                       "generic_name": "Roll.Angle.Figure.Of.Merit",
+                                       "bit_position": 49,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for roll angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "RollAngleFullyFunctional": [0],
+                                               "RollAngleDegraded": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Pitch.Angle.Figure.Of.Merit" : {
+                                       "generic_name": "Pitch.Angle.Figure.Of.Merit",
+                                       "bit_position": 47,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "Figure of merit for pitch angle measurement.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "PtchAnglDgrddDtIsSspctDTEnvrnmn": [0],
+                                               "NotAvailable": [1, 3],
+                                               "Error": [2]
+                                       }
+                               },
+                               "Pitch.Rate" : {
+                                       "generic_name": "Pitch.Rate",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.002,
+                                       "offset": -64,
+                                       "min_value": -64,
+                                       "max_value": 64.51,
+                                       "comment": "Pitch rate is the rate-of-change of the pitch angle over time, where the pitch angle vector is in the direction of travel of the",
+                                       "unit": "deg/sec",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Roll.Angle" : {
+                                       "generic_name": "Roll.Angle",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.002,
+                                       "offset": -64,
+                                       "min_value": -64,
+                                       "max_value": 64.51,
+                                       "comment": "The angle between the vehicle y-axis and the ground plane.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Pitch.Angle" : {
+                                       "generic_name": "Pitch.Angle",
+                                       "bit_position": -1,
+                                       "bit_size": 16,
+                                       "factor": 0.002,
+                                       "offset": -64,
+                                       "min_value": -64,
+                                       "max_value": 64.51,
+                                       "comment": "The angle between the vehicle x-axis and the ground plane.",
+                                       "unit": "deg",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65272": {
+                       "comment": "Transmission Fluids 1",
+                       "length": 8,
+                       "name": "TRF1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Trans.Oil.Level.Measurement.Status" : {
+                                       "generic_name": "Trans.Oil.Level.Measurement.Status",
+                                       "bit_position": 59,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Indicates if conditions are acceptable to obtain a valid transmission oil level measurement as conveyed in SPN 124",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CndtnsVldFrTrnsOlLvlMeasurement": [0],
+                                               "CndtnsNtVldSttlngTmrStllCntngDw": [1],
+                                               "ConditionsNotValidTransInGear": [2],
+                                               "CndtnsNtVldTransFluidTempTooLow": [3],
+                                               "CndtnsNtVldTrnsFluidTempTooHigh": [4],
+                                               "CndtnsNtVldVhclMvngOtptShftSpdT": [5],
+                                               "CndtionsNotValidVehicleNotLevel": [6],
+                                               "CnditionsNotValidEngSpeedTooLow": [7],
+                                               "CndtionsNotValidEngSpeedTooHigh": [8],
+                                               "CnditionsNotValidNoRqForReading": [9],
+                                               "NotDefined": [12],
+                                               "ConditionsNotValidOther": [13],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Trans.Oil.Level.Countdown.Timer" : {
+                                       "generic_name": "Trans.Oil.Level.Countdown.Timer",
+                                       "bit_position": 55,
+                                       "bit_size": 4,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 15,
+                                       "comment": "Once all vehicle conditions (such as vehicle stopped, etc) are met, some transmissions may require a `settling time' to",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "lessThan1Minute": [0],
+                                               "OneMinute": [1],
+                                               "TwoMinutes": [2],
+                                               "ThreeMinutes": [3],
+                                               "FourMinutes": [4],
+                                               "FiveMinutes": [5],
+                                               "SixMinutes": [6],
+                                               "SevenMinutes": [7],
+                                               "EightMinutes": [8],
+                                               "NineMinutes": [9],
+                                               "TenMinutes": [10],
+                                               "ElevenMinutes": [11],
+                                               "TwelveMinutes": [12],
+                                               "ThirteenMinutes": [13],
+                                               "Error": [14],
+                                               "NotAvailable": [15]
+                                       }
+                               },
+                               "Trans.Oil.Level.High_.Low" : {
+                                       "generic_name": "Trans.Oil.Level.High_.Low",
+                                       "bit_position": 47,
+                                       "bit_size": 8,
+                                       "factor": 0.5,
+                                       "offset": -62.5,
+                                       "min_value": -62.5,
+                                       "max_value": 62.5,
+                                       "comment": "Amount of current volume of transmission sump oil compared to recommended volume.",
+                                       "unit": "L",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CondNotAcceptableForValidMeasure": [251]
+                                       }
+                               },
+                               "Trans.Oil.Temp" : {
+                                       "generic_name": "Trans.Oil.Temp",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.03125,
+                                       "offset": -273,
+                                       "min_value": -273,
+                                       "max_value": 1734.96875,
+                                       "comment": "Temperature of the transmission lubricant.",
+                                       "unit": "deg C",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Oil.Press" : {
+                                       "generic_name": "Trans.Oil.Press",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Gage pressure of lubrication fluid in transmission, measured after pump.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Filter.Diff.Press" : {
+                                       "generic_name": "Trans.Filter.Diff.Press",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 2,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 500,
+                                       "comment": "Change in transmission fluid pressure, measured after the filter, due to accumulation of solid or semisolid material on or in",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Trans.Oil.Level" : {
+                                       "generic_name": "Trans.Oil.Level",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Ratio of volume of transmission sump oil to recommended volume.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Clutch.Press" : {
+                                       "generic_name": "Clutch.Press",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 16,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 4000,
+                                       "comment": "Gage pressure of oil within a wet clutch.",
+                                       "unit": "kPa",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "65271": {
+                       "comment": "Vehicle Electrical Power 1",
+                       "length": 8,
+                       "name": "VEP1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Charging.System.Potential" : {
+                                       "generic_name": "Charging.System.Potential",
+                                       "bit_position": 15,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Electrical potential measured at the charging system output.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Alt.Current" : {
+                                       "generic_name": "Alt.Current",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 250,
+                                       "comment": "Measure of electrical current flow from the alternator.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Net.Battery.Current" : {
+                                       "generic_name": "Net.Battery.Current",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": -125,
+                                       "min_value": -125,
+                                       "max_value": 125,
+                                       "comment": "Net flow of electrical current into/out of the battery or batteries.",
+                                       "unit": "A",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Keyswitch.Battery.Potential" : {
+                                       "generic_name": "Keyswitch.Battery.Potential",
+                                       "bit_position": 47,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "Battery potential measured at the input of the electronic control unit supplied through a keyswitch or similar switching",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Battery.Potential_.Power.Input1" : {
+                                       "generic_name": "Battery.Potential_.Power.Input1",
+                                       "bit_position": 31,
+                                       "bit_size": 16,
+                                       "factor": 0.05,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3212.75,
+                                       "comment": "This parameter measures the first source of battery potential as measured at the input of the ECM/actuator etc.",
+                                       "unit": "V",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               }
+                       }
+               },
+               "64936": {
+                       "comment": "Wireless Communications Message 2",
+                       "length": 8,
+                       "name": "WCM2",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Wrless.Communication.Network.Type2" : {
+                                       "generic_name": "Wrless.Communication.Network.Type2",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Type of Wireless Communication Network",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CellularNetwork1": [0],
+                                               "CellularNetwork2": [1]
+                                       }
+                               },
+                               "Network.Signal.Strength2" : {
+                                       "generic_name": "Network.Signal.Strength2",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Indicates the signal strength for the wireless communications network type.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Network.Antenna.Status2" : {
+                                       "generic_name": "Network.Antenna.Status2",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the antenna for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1]
+                                       }
+                               },
+                               "Network.Service.Status2" : {
+                                       "generic_name": "Network.Service.Status2",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the Service for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LocalService": [0],
+                                               "RoamingService": [1]
+                                       }
+                               },
+                               "Network.Transceiver.Status2" : {
+                                       "generic_name": "Network.Transceiver.Status2",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the transceiver for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1]
+                                       }
+                               }
+                       }
+               },
+               "64937": {
+                       "comment": "Wireless Communications Message 1",
+                       "length": 8,
+                       "name": "WCM1",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Wrless.Communication.Network.Type1" : {
+                                       "generic_name": "Wrless.Communication.Network.Type1",
+                                       "bit_position": 31,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Type of Wireless Communication Network",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "CellularNetwork1": [0],
+                                               "CellularNetwork2": [1]
+                                       }
+                               },
+                               "Network.Signal.Strength1" : {
+                                       "generic_name": "Network.Signal.Strength1",
+                                       "bit_position": 23,
+                                       "bit_size": 8,
+                                       "factor": 0.4,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 100,
+                                       "comment": "Indicates the signal strength for the wireless communications network type.",
+                                       "unit": "%",
+                                       "is_big_endian": false,
+                                       "is_signed": false
+                               },
+                               "Network.Antenna.Status1" : {
+                                       "generic_name": "Network.Antenna.Status1",
+                                       "bit_position": 15,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the antenna for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1]
+                                       }
+                               },
+                               "Network.Service.Status1" : {
+                                       "generic_name": "Network.Service.Status1",
+                                       "bit_position": 7,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the Service for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "LocalService": [0],
+                                               "RoamingService": [1]
+                                       }
+                               },
+                               "Network.Transceiver.Status1" : {
+                                       "generic_name": "Network.Transceiver.Status1",
+                                       "bit_position": -1,
+                                       "bit_size": 8,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 255,
+                                       "comment": "Indicates the status of the transceiver for the wireless communications network type",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "Off": [0],
+                                               "On": [1]
+                                       }
+                               }
+                       }
+               },
+               "64935": {
+                       "comment": "Voltage Regulator Operating Mode",
+                       "length": 8,
+                       "name": "VROM",
+                       "bus" : "j1939",
+                       "is_fd" : false,
+                       "is_extended" : false,
+                       "is_j1939" : true,
+                       "signals" : {
+                               "Voltage.Regulator.Enabled" : {
+                                       "generic_name": "Voltage.Regulator.Enabled",
+                                       "bit_position": 9,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating the Voltage regulator enabled.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "NtRegulatingVoltageUnitDisabled": [0],
+                                               "RegulatingVoltage": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Voltage.Regulator.Soft.Start.State" : {
+                                       "generic_name": "Voltage.Regulator.Soft.Start.State",
+                                       "bit_position": 7,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating the mode of the Voltage regulator soft start function.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "SoftStartIsInactive": [0],
+                                               "SoftStartIsActive": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vltg.Rgltr.Undrfrqncy.Cmpnstn.Enbld" : {
+                                       "generic_name": "Vltg.Rgltr.Undrfrqncy.Cmpnstn.Enbld",
+                                       "bit_position": 5,
+                                       "bit_size": 2,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 3,
+                                       "comment": "State signal indicating the operating mode for underfrequency compensation.",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "UndrfrqencyCompensationDisabled": [0],
+                                               "UndrfrquencyCompensationEnabled": [1],
+                                               "Error": [2],
+                                               "NotAvailable": [3]
+                                       }
+                               },
+                               "Vltg.Rgltr.VAr_.Pwr.Fctr.Oprting.Mode" : {
+                                       "generic_name": "Vltg.Rgltr.VAr_.Pwr.Fctr.Oprting.Mode",
+                                       "bit_position": 2,
+                                       "bit_size": 3,
+                                       "factor": 1,
+                                       "offset": 0,
+                                       "min_value": 0,
+                                       "max_value": 7,
+                                       "comment": "None",
+                                       "is_big_endian": false,
+                                       "is_signed": false,
+                                       "states": {
+                                               "VAr_PwrFactorRegulationDisabled": [0],
+                                               "PowerFactorRegulationEnabled": [1],
+                                               "VArRegulationEnabled": [2],
+                                               "Reserved": [5],
+                                               "Error": [6],
+                                               "NotAvailable": [7]
+                                       }
index 7dd03d7..2cbcbe2 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"AGL Virtual Car",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"ls",0x111,"",16,66,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"ls", 0x111,"", 16, 66, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "sig1.1",// generic_name
@@ -187,7 +187,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",8,4,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"ls", 0x30,"", 8, 4, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "hvac.fan.speed",// generic_name
@@ -279,7 +279,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,2050,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 8, 2050, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -349,7 +349,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -375,7 +375,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -423,7 +423,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x620,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -537,7 +537,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",8,2,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x799,"", 8, 2, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -629,7 +629,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61442,"ETC1", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Momentary.Overspeed.Enable",// generic_name
@@ -903,7 +903,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61444,"EEC1", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
@@ -1113,7 +1113,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61449,"VDC2", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Lateral.Acceleration",// generic_name
@@ -1253,7 +1253,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65215,"EBC2", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Front.Axle.Speed",// generic_name
@@ -1411,7 +1411,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65253,"HOURS", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Total.Hours.Of.Operation",// generic_name
@@ -1459,7 +1459,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,18,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65262,"ET1", 8, 18, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Coolant.Temp",// generic_name
@@ -1857,7 +1857,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);
index 1d5e946..30102d7 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {std::make_shared<message_set_t>(message_set_t{0,"example",
                        { // beginning message_definition_ vector
-                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -77,7 +77,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -103,7 +103,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -151,7 +151,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x620,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -265,7 +265,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x799,"", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -619,7 +619,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
                for(std::shared_ptr<message_definition_t> cmd : messages_definition)
                {
                        cmd->set_parent(cms);