diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2020-01-09 11:57:18 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2020-01-09 16:25:36 +0100 |
commit | 74e83bfde6652df2ada831ae003ec51ca8e673c7 (patch) | |
tree | 8150a62ee2c37972dd8f369f63de5f3773617d9e /examples/j1939 | |
parent | 439c289056564cc4723c249f2ba29100efc7d4f8 (diff) |
Cleanup examples, tests, configuration and plugins
This commit updates all files external to the code.
Change-Id: I910bc300c53b7669573bba414db7d7ad74313697
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'examples/j1939')
-rw-r--r-- | examples/j1939/j1939-signals.cpp | 991 | ||||
-rw-r--r-- | examples/j1939/j1939-simple.cpp | 1050 |
2 files changed, 991 insertions, 1050 deletions
diff --git a/examples/j1939/j1939-signals.cpp b/examples/j1939/j1939-signals.cpp new file mode 100644 index 00000000..bec22933 --- /dev/null +++ b/examples/j1939/j1939-signals.cpp @@ -0,0 +1,991 @@ +#include <binding/application.hpp> +#include <can/can-decoder.hpp> +#include <can/can-encoder.hpp> + +extern "C" { +CTLP_CAPI_REGISTER("virtual-j1939"); + +std::shared_ptr<message_set_t> cms = 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,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Eng.Momentary.Overspeed.Enable",// generic_name + 32,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {0,"MomentaryEngOverspeedIsDisabled"}, + {1,"MomentaryEngOverspeedIsEnabled"}, + {2,"Reserved"}, + {3,"TakeNoAction"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Momentary.Eng.Max.Power.Enable",// generic_name + 36,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {2,"fault"}, + {1,"mmntarilyRqingMaxPowerAvailable"}, + {3,"notAvailable"}, + {0,"notRqingMaxPowerAvailable"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Percent.Clutch.Slip",// generic_name + 24,// bit_position + 8,// bit_size + 0.400000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + true,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Progressive.Shift.Disable",// generic_name + 34,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {1,"ProgressiveShiftIsDisabled"}, + {0,"ProgressiveShiftIsNotDisabled"}, + {2,"Reserved"}, + {3,"TakeNoAction"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name + 56,// bit_position + 8,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + true,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trans.Driveline.Engaged",// generic_name + 0,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {0,"DrivelineDisengaged"}, + {1,"DrivelineEngaged"}, + {2,"Error"}, + {3,"NotAvailable"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trans.Input.Shaft.Speed",// generic_name + 40,// bit_position + 16,// bit_size + 0.125000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + true,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "rpm"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trans.Output.Shaft.Speed",// generic_name + 8,// bit_position + 16,// bit_size + 0.125000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + true,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "rpm"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trans.Shift.In.Process",// generic_name + 4,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {2,"Error"}, + {3,"NotAvailable"}, + {1,"ShiftInProcess"}, + {0,"ShiftIsNotInProcess"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name + 6,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {2,"Error"}, + {3,"NotAvailable"}, + {1,"TransitionIsInProcess"}, + {0,"TransitionIsNotInProcess"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Trns.Trque.Converter.Lockup.Engaged",// generic_name + 2,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {2,"Error"}, + {3,"NotAvailable"}, + {0,"TorqueConverterLockupDisengaged"}, + {1,"TorqueConverterLockupEngaged"} + },// states + true,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name + 4,// bit_position + 4,// bit_size + 0.125000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {0,"0000"}, + {1,"0125"}, + {7,"0875"}, + {8,"1111NotAvailable"} + },// states + false,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Actual.Eng.Percent.Torque",// generic_name + 16,// bit_position + 8,// bit_size + 1.00000f,// factor + -125.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Drivers.Demand.Eng.Percent.Torque",// generic_name + 8,// bit_position + 8,// bit_size + 1.00000f,// factor + -125.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Demand.Percent.Torque",// generic_name + 56,// bit_position + 8,// bit_size + 1.00000f,// factor + -125.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Speed",// generic_name + 24,// bit_position + 16,// bit_size + 0.125000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "rpm"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Starter.Mode",// generic_name + 48,// bit_position + 4,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {9,"1011Reserved"}, + {14,"error"}, + {15,"notAvailable"}, + {0,"startNotRqed"}, + {2,"starterActiveGearEngaged"}, + {1,"starterActiveGearNotEngaged"}, + {12,"starterInhibitedReasonUnknown"}, + {3,"strtFnshdStrtrNtActvAftrHvngBnA"}, + {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"}, + {5,"strtrInhbtdDTEngNtReadyForStart"}, + {7,"strtrInhbtdDToActiveImmobilizer"}, + {4,"strtrInhbtdDToEngAlreadyRunning"}, + {8,"strtrInhbtdDueToStarterOvertemp"} + },// states + false,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Torque.Mode",// generic_name + 0,// bit_position + 4,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {7,"ABS control"}, + {5,"ASR control"}, + {1,"Accelerator pedal/operator selec"}, + {10,"Braking system"}, + {2,"Cruise control"}, + {9,"High speed governor"}, + {0,"Low idle governor/no request (de"}, + {15,"Not available"}, + {3,"PTO governor"}, + {11,"Remote accelerator"}, + {4,"Road speed governor"}, + {8,"Torque limiting"}, + {6,"Transmission control"} + },// states + false,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name + 40,// bit_position + 8,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Lateral.Acceleration",// generic_name + 40,// bit_position + 16,// bit_size + 0.000488281f,// factor + -15.6870f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "m/s/s"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Longitudinal.Acceleration",// generic_name + 56,// bit_position + 8,// bit_size + 0.100000f,// factor + -12.5000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "m/s/s"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Steer.Wheel.Angle",// generic_name + 0,// bit_position + 16,// bit_size + 0.000976562f,// factor + -31.3740f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "rad"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Steer.Wheel.Angle.Sensor.Type",// generic_name + 22,// bit_position + 2,// bit_size + 1.00000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + {1,"AbsMeasuringPrinciple"}, + {3,"NotAvailable"}, + {0,"RelativeMeasuringPrinciple"}, + {2,"Reserved"} + },// states + false,// writable + decoder_t::decode_state,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Steer.Wheel.Turn.Counter",// generic_name + 16,// bit_position + 6,// bit_size + 1.00000f,// factor + -32.0000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "turns"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Yaw.Rate",// generic_name + 24,// bit_position + 16,// bit_size + 0.000122070f,// factor + -3.92000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "rad/s"// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Front.Axle.Speed",// generic_name + 0,// bit_position + 16,// bit_size + 0.00390625f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Relative.Speed.Front.Axle.Left.Wheel",// generic_name + 16,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name + 32,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name + 48,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name + 24,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name + 40,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name + 56,// bit_position + 8,// bit_size + 0.0625000f,// factor + -7.81250f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "km/h"// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Eng.Total.Hours.Of.Operation",// generic_name + 0,// bit_position + 32,// bit_size + 0.0500000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "hr"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Total.Revolutions",// generic_name + 32,// bit_position + 32,// bit_size + 1000.00f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "r"// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,8,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared<signal_t> (signal_t{ + "Eng.Coolant.Temp",// generic_name + 0,// bit_position + 8,// bit_size + 0.0312500f,// factor + -273.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "deg C"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Fuel.Temp1",// generic_name + 8,// bit_position + 8,// bit_size + 1.00000f,// factor + -40.0000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "deg C"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Intercooler.Temp",// generic_name + 48,// bit_position + 8,// bit_size + 1.00000f,// factor + -40.0000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "deg C"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Intercooler.Thermostat.Opening",// generic_name + 56,// bit_position + 8,// bit_size + 0.400000f,// factor + 0.00000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "%"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Oil.Temp1",// generic_name + 16,// bit_position + 16,// bit_size + 0.0312500f,// factor + -273.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "deg C"// unit + })}, + {std::make_shared<signal_t> (signal_t{ + "Eng.Turbo.Oil.Temp",// generic_name + 32,// bit_position + 16,// bit_size + 0.0312500f,// factor + -273.000f,// offset + 0,// min_value + 0,// max_value + frequency_clock_t(0.00000f),// frequency + true,// send_same + false,// force_send_changed + { + },// states + false,// writable + nullptr,// decoder + nullptr,// encoder + false,// received + std::make_pair<bool, int>(false, 0),// multiplex + static_cast<sign_t>(0),// signed + -1,// bit_sign_position + "deg C"// unit + })} + } // end signals vector + })} // end message_definition entry + }, // end message_definition vector + { // beginning diagnostic_messages_ vector + + } // end diagnostic_messages_ vector +}); // end message_set entry + +CTLP_ONLOAD(plugin, handle) { + afb_api_t api = (afb_api_t) plugin->api; + CtlConfigT* CtlConfig = (CtlConfigT*) afb_api_get_userdata(api); + application_t* app = (application_t*) getExternalData(CtlConfig); + + return app->add_message_set(cms); +} + + +} diff --git a/examples/j1939/j1939-simple.cpp b/examples/j1939/j1939-simple.cpp deleted file mode 100644 index 660d0ffa..00000000 --- a/examples/j1939/j1939-simple.cpp +++ /dev/null @@ -1,1050 +0,0 @@ -#include "application.hpp" -#include "../can/can-decoder.hpp" -#include "../can/can-encoder.hpp" - -application_t::application_t() - : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}} - , 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,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Eng.Momentary.Overspeed.Enable",// generic_name - 32,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {0,"MomentaryEngOverspeedIsDisabled"}, - {1,"MomentaryEngOverspeedIsEnabled"}, - {2,"Reserved"}, - {3,"TakeNoAction"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Momentary.Eng.Max.Power.Enable",// generic_name - 36,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {2,"fault"}, - {1,"mmntarilyRqingMaxPowerAvailable"}, - {3,"notAvailable"}, - {0,"notRqingMaxPowerAvailable"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Percent.Clutch.Slip",// generic_name - 24,// bit_position - 8,// bit_size - 0.400000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - true,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Progressive.Shift.Disable",// generic_name - 34,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {1,"ProgressiveShiftIsDisabled"}, - {0,"ProgressiveShiftIsNotDisabled"}, - {2,"Reserved"}, - {3,"TakeNoAction"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name - 56,// bit_position - 8,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - true,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trans.Driveline.Engaged",// generic_name - 0,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {0,"DrivelineDisengaged"}, - {1,"DrivelineEngaged"}, - {2,"Error"}, - {3,"NotAvailable"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trans.Input.Shaft.Speed",// generic_name - 40,// bit_position - 16,// bit_size - 0.125000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - true,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "rpm"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trans.Output.Shaft.Speed",// generic_name - 8,// bit_position - 16,// bit_size - 0.125000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - true,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "rpm"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trans.Shift.In.Process",// generic_name - 4,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {2,"Error"}, - {3,"NotAvailable"}, - {1,"ShiftInProcess"}, - {0,"ShiftIsNotInProcess"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name - 6,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {2,"Error"}, - {3,"NotAvailable"}, - {1,"TransitionIsInProcess"}, - {0,"TransitionIsNotInProcess"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Trns.Trque.Converter.Lockup.Engaged",// generic_name - 2,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {2,"Error"}, - {3,"NotAvailable"}, - {0,"TorqueConverterLockupDisengaged"}, - {1,"TorqueConverterLockupEngaged"} - },// states - true,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name - 4,// bit_position - 4,// bit_size - 0.125000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {0,"0000"}, - {1,"0125"}, - {7,"0875"}, - {8,"1111NotAvailable"} - },// states - false,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Actual.Eng.Percent.Torque",// generic_name - 16,// bit_position - 8,// bit_size - 1.00000f,// factor - -125.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Drivers.Demand.Eng.Percent.Torque",// generic_name - 8,// bit_position - 8,// bit_size - 1.00000f,// factor - -125.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Demand.Percent.Torque",// generic_name - 56,// bit_position - 8,// bit_size - 1.00000f,// factor - -125.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Speed",// generic_name - 24,// bit_position - 16,// bit_size - 0.125000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "rpm"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Starter.Mode",// generic_name - 48,// bit_position - 4,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {9,"1011Reserved"}, - {14,"error"}, - {15,"notAvailable"}, - {0,"startNotRqed"}, - {2,"starterActiveGearEngaged"}, - {1,"starterActiveGearNotEngaged"}, - {12,"starterInhibitedReasonUnknown"}, - {3,"strtFnshdStrtrNtActvAftrHvngBnA"}, - {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"}, - {5,"strtrInhbtdDTEngNtReadyForStart"}, - {7,"strtrInhbtdDToActiveImmobilizer"}, - {4,"strtrInhbtdDToEngAlreadyRunning"}, - {8,"strtrInhbtdDueToStarterOvertemp"} - },// states - false,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Torque.Mode",// generic_name - 0,// bit_position - 4,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {7,"ABS control"}, - {5,"ASR control"}, - {1,"Accelerator pedal/operator selec"}, - {10,"Braking system"}, - {2,"Cruise control"}, - {9,"High speed governor"}, - {0,"Low idle governor/no request (de"}, - {15,"Not available"}, - {3,"PTO governor"}, - {11,"Remote accelerator"}, - {4,"Road speed governor"}, - {8,"Torque limiting"}, - {6,"Transmission control"} - },// states - false,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name - 40,// bit_position - 8,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Lateral.Acceleration",// generic_name - 40,// bit_position - 16,// bit_size - 0.000488281f,// factor - -15.6870f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "m/s/s"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Longitudinal.Acceleration",// generic_name - 56,// bit_position - 8,// bit_size - 0.100000f,// factor - -12.5000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "m/s/s"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Steer.Wheel.Angle",// generic_name - 0,// bit_position - 16,// bit_size - 0.000976562f,// factor - -31.3740f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "rad"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Steer.Wheel.Angle.Sensor.Type",// generic_name - 22,// bit_position - 2,// bit_size - 1.00000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - {1,"AbsMeasuringPrinciple"}, - {3,"NotAvailable"}, - {0,"RelativeMeasuringPrinciple"}, - {2,"Reserved"} - },// states - false,// writable - decoder_t::decode_state,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - ""// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Steer.Wheel.Turn.Counter",// generic_name - 16,// bit_position - 6,// bit_size - 1.00000f,// factor - -32.0000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "turns"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Yaw.Rate",// generic_name - 24,// bit_position - 16,// bit_size - 0.000122070f,// factor - -3.92000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "rad/s"// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Front.Axle.Speed",// generic_name - 0,// bit_position - 16,// bit_size - 0.00390625f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Relative.Speed.Front.Axle.Left.Wheel",// generic_name - 16,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name - 32,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name - 48,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name - 24,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name - 40,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name - 56,// bit_position - 8,// bit_size - 0.0625000f,// factor - -7.81250f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "km/h"// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Eng.Total.Hours.Of.Operation",// generic_name - 0,// bit_position - 32,// bit_size - 0.0500000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "hr"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Total.Revolutions",// generic_name - 32,// bit_position - 32,// bit_size - 1000.00f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "r"// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,4,true,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared<signal_t> (signal_t{ - "Eng.Coolant.Temp",// generic_name - 0,// bit_position - 8,// bit_size - 0.0312500f,// factor - -273.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "deg C"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Fuel.Temp1",// generic_name - 8,// bit_position - 8,// bit_size - 1.00000f,// factor - -40.0000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "deg C"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Intercooler.Temp",// generic_name - 48,// bit_position - 8,// bit_size - 1.00000f,// factor - -40.0000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "deg C"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Intercooler.Thermostat.Opening",// generic_name - 56,// bit_position - 8,// bit_size - 0.400000f,// factor - 0.00000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "%"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Oil.Temp1",// generic_name - 16,// bit_position - 16,// bit_size - 0.0312500f,// factor - -273.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "deg C"// unit - })}, - {std::make_shared<signal_t> (signal_t{ - "Eng.Turbo.Oil.Temp",// generic_name - 32,// bit_position - 16,// bit_size - 0.0312500f,// factor - -273.000f,// offset - 0,// min_value - 0,// max_value - frequency_clock_t(0.00000f),// frequency - true,// send_same - false,// force_send_changed - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair<bool, int>(false, 0),// multiplex - false,// is_big_endian - static_cast<sign_t>(0),// signed - -1,// bit_sign_position - "deg C"// unit - })} - } // end signals vector - })} // end message_definition entry - - }, // end message_definition vector - { // beginning diagnostic_messages_ vector - - } // end diagnostic_messages_ vector - })} // end message_set entry - } // end message_set vector -{ - for(std::shared_ptr<message_set_t> cms: message_set_) - { - std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition(); - for(std::shared_ptr<message_definition_t> cmd : messages_definition) - { - cmd->set_parent(cms); - std::vector<std::shared_ptr<signal_t>> signals = cmd->get_signals(); - for(std::shared_ptr<signal_t> sig: signals) - { - sig->set_parent(cmd); - } - } - - std::vector<std::shared_ptr<diagnostic_message_t>> diagnostic_messages = cms->get_diagnostic_messages(); - for(std::shared_ptr<diagnostic_message_t> dm : diagnostic_messages) - { - dm->set_parent(cms); - } - } - } - -const std::string application_t::get_diagnostic_bus() const -{ - return ""; -} - - |