1 #include "application.hpp"
2 #include "../can/can-decoder.hpp"
3 #include "../can/can-encoder.hpp"
5 application_t::application_t()
6 : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
8 {std::make_shared<message_set_t>(message_set_t{0,"AGL Virtual Car",
9 { // beginning message_definition_ vector
10 {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::EXTENDED,frequency_clock_t(5.00000f),true, { // beginning signals vector
11 {std::make_shared<signal_t> (signal_t{
12 "hvac.fan.speed",// generic_name
19 frequency_clock_t(0.00000f),// frequency
21 false,// force_send_changed
28 std::make_pair<bool, int>(false,0),// multiplex
33 {std::make_shared<signal_t> (signal_t{
34 "hvac.temperature.left",// generic_name
41 frequency_clock_t(0.00000f),// frequency
43 false,// force_send_changed
50 std::make_pair<bool, int>(false,0),// multiplex
55 {std::make_shared<signal_t> (signal_t{
56 "hvac.temperature.right",// generic_name
63 frequency_clock_t(0.00000f),// frequency
65 false,// force_send_changed
72 std::make_pair<bool, int>(false,0),// multiplex
77 {std::make_shared<signal_t> (signal_t{
78 "hvac.temperature.average",// generic_name
85 frequency_clock_t(0.00000f),// frequency
87 false,// force_send_changed
94 std::make_pair<bool, int>(false,0),// multiplex
99 } // end signals vector
100 })} // end message_definition entry
101 , {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,true,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
102 {std::make_shared<signal_t> (signal_t{
103 "engine.speed",// generic_name
110 frequency_clock_t(0.00000f),// frequency
112 false,// force_send_changed
119 std::make_pair<bool, int>(false,0),// multiplex
124 {std::make_shared<signal_t> (signal_t{
125 "fuel.level.low",// generic_name
132 frequency_clock_t(0.00000f),// frequency
134 false,// force_send_changed
138 decoder_t::decode_boolean,// decoder
141 std::make_pair<bool, int>(false,0),// multiplex
146 {std::make_shared<signal_t> (signal_t{
147 "fuel.level",// generic_name
154 frequency_clock_t(0.00000f),// frequency
156 false,// force_send_changed
163 std::make_pair<bool, int>(false,0),// multiplex
168 } // end signals vector
169 })} // end message_definition entry
170 , {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
171 {std::make_shared<signal_t> (signal_t{
172 "vehicle.average.speed",// generic_name
179 frequency_clock_t(0.00000f),// frequency
181 false,// force_send_changed
188 std::make_pair<bool, int>(false,0),// multiplex
193 } // end signals vector
194 })} // end message_definition entry
195 , {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
196 {std::make_shared<signal_t> (signal_t{
197 "engine.oil.temp",// generic_name
204 frequency_clock_t(0.00000f),// frequency
206 false,// force_send_changed
213 std::make_pair<bool, int>(false,0),// multiplex
218 {std::make_shared<signal_t> (signal_t{
219 "engine.oil.temp.high",// generic_name
226 frequency_clock_t(0.00000f),// frequency
228 false,// force_send_changed
232 decoder_t::decode_boolean,// decoder
235 std::make_pair<bool, int>(false,0),// multiplex
240 } // end signals vector
241 })} // end message_definition entry
242 , {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
243 {std::make_shared<signal_t> (signal_t{
244 "doors.boot.open",// generic_name
251 frequency_clock_t(0.00000f),// frequency
253 false,// force_send_changed
257 decoder_t::decode_boolean,// decoder
260 std::make_pair<bool, int>(false,0),// multiplex
265 {std::make_shared<signal_t> (signal_t{
266 "doors.front_left.open",// generic_name
273 frequency_clock_t(0.00000f),// frequency
275 false,// force_send_changed
279 decoder_t::decode_boolean,// decoder
282 std::make_pair<bool, int>(false,0),// multiplex
287 {std::make_shared<signal_t> (signal_t{
288 "doors.front_right.open",// generic_name
295 frequency_clock_t(0.00000f),// frequency
297 false,// force_send_changed
301 decoder_t::decode_boolean,// decoder
304 std::make_pair<bool, int>(false,0),// multiplex
309 {std::make_shared<signal_t> (signal_t{
310 "doors.rear_left.open",// generic_name
317 frequency_clock_t(0.00000f),// frequency
319 false,// force_send_changed
323 decoder_t::decode_boolean,// decoder
326 std::make_pair<bool, int>(false,0),// multiplex
331 {std::make_shared<signal_t> (signal_t{
332 "doors.rear_right.open",// generic_name
339 frequency_clock_t(0.00000f),// frequency
341 false,// force_send_changed
345 decoder_t::decode_boolean,// decoder
348 std::make_pair<bool, int>(false,0),// multiplex
353 } // end signals vector
354 })} // end message_definition entry
355 , {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
356 {std::make_shared<signal_t> (signal_t{
357 "windows.front_left.open",// generic_name
364 frequency_clock_t(0.00000f),// frequency
366 false,// force_send_changed
370 decoder_t::decode_boolean,// decoder
373 std::make_pair<bool, int>(false,0),// multiplex
378 {std::make_shared<signal_t> (signal_t{
379 "windows.front_right.open",// generic_name
386 frequency_clock_t(0.00000f),// frequency
388 false,// force_send_changed
392 decoder_t::decode_boolean,// decoder
395 std::make_pair<bool, int>(false,0),// multiplex
400 {std::make_shared<signal_t> (signal_t{
401 "windows.rear_left.open",// generic_name
408 frequency_clock_t(0.00000f),// frequency
410 false,// force_send_changed
414 decoder_t::decode_boolean,// decoder
417 std::make_pair<bool, int>(false,0),// multiplex
422 {std::make_shared<signal_t> (signal_t{
423 "windows.rear_right.open",// generic_name
430 frequency_clock_t(0.00000f),// frequency
432 false,// force_send_changed
436 decoder_t::decode_boolean,// decoder
439 std::make_pair<bool, int>(false,0),// multiplex
444 } // end signals vector
445 })} // end message_definition entry
446 , {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
447 {std::make_shared<signal_t> (signal_t{
448 "Eng.Momentary.Overspeed.Enable",// generic_name
455 frequency_clock_t(0.00000f),// frequency
457 false,// force_send_changed
459 {0,"MomentaryEngOverspeedIsDisabled"},
460 {1,"MomentaryEngOverspeedIsEnabled"},
468 std::make_pair<bool, int>(false,0),// multiplex
473 {std::make_shared<signal_t> (signal_t{
474 "Momentary.Eng.Max.Power.Enable",// generic_name
481 frequency_clock_t(0.00000f),// frequency
483 false,// force_send_changed
486 {1,"mmntarilyRqingMaxPowerAvailable"},
488 {0,"notRqingMaxPowerAvailable"}
494 std::make_pair<bool, int>(false,0),// multiplex
499 {std::make_shared<signal_t> (signal_t{
500 "Percent.Clutch.Slip",// generic_name
507 frequency_clock_t(0.00000f),// frequency
509 false,// force_send_changed
516 std::make_pair<bool, int>(false,0),// multiplex
521 {std::make_shared<signal_t> (signal_t{
522 "Progressive.Shift.Disable",// generic_name
529 frequency_clock_t(0.00000f),// frequency
531 false,// force_send_changed
533 {1,"ProgressiveShiftIsDisabled"},
534 {0,"ProgressiveShiftIsNotDisabled"},
542 std::make_pair<bool, int>(false,0),// multiplex
547 {std::make_shared<signal_t> (signal_t{
548 "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name
555 frequency_clock_t(0.00000f),// frequency
557 false,// force_send_changed
564 std::make_pair<bool, int>(false,0),// multiplex
569 {std::make_shared<signal_t> (signal_t{
570 "Trans.Driveline.Engaged",// generic_name
577 frequency_clock_t(0.00000f),// frequency
579 false,// force_send_changed
581 {0,"DrivelineDisengaged"},
582 {1,"DrivelineEngaged"},
590 std::make_pair<bool, int>(false,0),// multiplex
595 {std::make_shared<signal_t> (signal_t{
596 "Trans.Input.Shaft.Speed",// generic_name
603 frequency_clock_t(0.00000f),// frequency
605 false,// force_send_changed
612 std::make_pair<bool, int>(false,0),// multiplex
617 {std::make_shared<signal_t> (signal_t{
618 "Trans.Output.Shaft.Speed",// generic_name
625 frequency_clock_t(0.00000f),// frequency
627 false,// force_send_changed
634 std::make_pair<bool, int>(false,0),// multiplex
639 {std::make_shared<signal_t> (signal_t{
640 "Trans.Shift.In.Process",// generic_name
647 frequency_clock_t(0.00000f),// frequency
649 false,// force_send_changed
653 {1,"ShiftInProcess"},
654 {0,"ShiftIsNotInProcess"}
660 std::make_pair<bool, int>(false,0),// multiplex
665 {std::make_shared<signal_t> (signal_t{
666 "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name
673 frequency_clock_t(0.00000f),// frequency
675 false,// force_send_changed
679 {1,"TransitionIsInProcess"},
680 {0,"TransitionIsNotInProcess"}
686 std::make_pair<bool, int>(false,0),// multiplex
691 {std::make_shared<signal_t> (signal_t{
692 "Trns.Trque.Converter.Lockup.Engaged",// generic_name
699 frequency_clock_t(0.00000f),// frequency
701 false,// force_send_changed
705 {0,"TorqueConverterLockupDisengaged"},
706 {1,"TorqueConverterLockupEngaged"}
712 std::make_pair<bool, int>(false,0),// multiplex
717 } // end signals vector
718 })} // end message_definition entry
719 , {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
720 {std::make_shared<signal_t> (signal_t{
721 "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
728 frequency_clock_t(0.00000f),// frequency
730 false,// force_send_changed
735 {8,"1111NotAvailable"}
741 std::make_pair<bool, int>(false,0),// multiplex
746 {std::make_shared<signal_t> (signal_t{
747 "Actual.Eng.Percent.Torque",// generic_name
754 frequency_clock_t(0.00000f),// frequency
756 false,// force_send_changed
763 std::make_pair<bool, int>(false,0),// multiplex
768 {std::make_shared<signal_t> (signal_t{
769 "Drivers.Demand.Eng.Percent.Torque",// generic_name
776 frequency_clock_t(0.00000f),// frequency
778 false,// force_send_changed
785 std::make_pair<bool, int>(false,0),// multiplex
790 {std::make_shared<signal_t> (signal_t{
791 "Eng.Demand.Percent.Torque",// generic_name
798 frequency_clock_t(0.00000f),// frequency
800 false,// force_send_changed
807 std::make_pair<bool, int>(false,0),// multiplex
812 {std::make_shared<signal_t> (signal_t{
813 "Eng.Speed",// generic_name
820 frequency_clock_t(0.00000f),// frequency
822 false,// force_send_changed
829 std::make_pair<bool, int>(false,0),// multiplex
834 {std::make_shared<signal_t> (signal_t{
835 "Eng.Starter.Mode",// generic_name
842 frequency_clock_t(0.00000f),// frequency
844 false,// force_send_changed
850 {2,"starterActiveGearEngaged"},
851 {1,"starterActiveGearNotEngaged"},
852 {12,"starterInhibitedReasonUnknown"},
853 {3,"strtFnshdStrtrNtActvAftrHvngBnA"},
854 {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"},
855 {5,"strtrInhbtdDTEngNtReadyForStart"},
856 {7,"strtrInhbtdDToActiveImmobilizer"},
857 {4,"strtrInhbtdDToEngAlreadyRunning"},
858 {8,"strtrInhbtdDueToStarterOvertemp"}
864 std::make_pair<bool, int>(false,0),// multiplex
869 {std::make_shared<signal_t> (signal_t{
870 "Eng.Torque.Mode",// generic_name
877 frequency_clock_t(0.00000f),// frequency
879 false,// force_send_changed
883 {1,"Accelerator pedal/operator selec"},
884 {10,"Braking system"},
885 {2,"Cruise control"},
886 {9,"High speed governor"},
887 {0,"Low idle governor/no request (de"},
888 {15,"Not available"},
890 {11,"Remote accelerator"},
891 {4,"Road speed governor"},
892 {8,"Torque limiting"},
893 {6,"Transmission control"}
899 std::make_pair<bool, int>(false,0),// multiplex
904 {std::make_shared<signal_t> (signal_t{
905 "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
912 frequency_clock_t(0.00000f),// frequency
914 false,// force_send_changed
921 std::make_pair<bool, int>(false,0),// multiplex
926 } // end signals vector
927 })} // end message_definition entry
928 , {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
929 {std::make_shared<signal_t> (signal_t{
930 "Lateral.Acceleration",// generic_name
933 0.000488281f,// factor
937 frequency_clock_t(0.00000f),// frequency
939 false,// force_send_changed
946 std::make_pair<bool, int>(false,0),// multiplex
951 {std::make_shared<signal_t> (signal_t{
952 "Longitudinal.Acceleration",// generic_name
959 frequency_clock_t(0.00000f),// frequency
961 false,// force_send_changed
968 std::make_pair<bool, int>(false,0),// multiplex
973 {std::make_shared<signal_t> (signal_t{
974 "Steer.Wheel.Angle",// generic_name
977 0.000976562f,// factor
981 frequency_clock_t(0.00000f),// frequency
983 false,// force_send_changed
990 std::make_pair<bool, int>(false,0),// multiplex
995 {std::make_shared<signal_t> (signal_t{
996 "Steer.Wheel.Angle.Sensor.Type",// generic_name
1003 frequency_clock_t(0.00000f),// frequency
1005 false,// force_send_changed
1007 {1,"AbsMeasuringPrinciple"},
1009 {0,"RelativeMeasuringPrinciple"},
1016 std::make_pair<bool, int>(false,0),// multiplex
1021 {std::make_shared<signal_t> (signal_t{
1022 "Steer.Wheel.Turn.Counter",// generic_name
1029 frequency_clock_t(0.00000f),// frequency
1031 false,// force_send_changed
1038 std::make_pair<bool, int>(false,0),// multiplex
1043 {std::make_shared<signal_t> (signal_t{
1044 "Yaw.Rate",// generic_name
1047 0.000122070f,// factor
1051 frequency_clock_t(0.00000f),// frequency
1053 false,// force_send_changed
1060 std::make_pair<bool, int>(false,0),// multiplex
1065 } // end signals vector
1066 })} // end message_definition entry
1067 , {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
1068 {std::make_shared<signal_t> (signal_t{
1069 "Front.Axle.Speed",// generic_name
1072 0.00390625f,// factor
1076 frequency_clock_t(0.00000f),// frequency
1078 false,// force_send_changed
1085 std::make_pair<bool, int>(false,0),// multiplex
1090 {std::make_shared<signal_t> (signal_t{
1091 "Relative.Speed.Front.Axle.Left.Wheel",// generic_name
1094 0.0625000f,// factor
1098 frequency_clock_t(0.00000f),// frequency
1100 false,// force_send_changed
1107 std::make_pair<bool, int>(false,0),// multiplex
1112 {std::make_shared<signal_t> (signal_t{
1113 "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name
1116 0.0625000f,// factor
1120 frequency_clock_t(0.00000f),// frequency
1122 false,// force_send_changed
1129 std::make_pair<bool, int>(false,0),// multiplex
1134 {std::make_shared<signal_t> (signal_t{
1135 "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name
1138 0.0625000f,// factor
1142 frequency_clock_t(0.00000f),// frequency
1144 false,// force_send_changed
1151 std::make_pair<bool, int>(false,0),// multiplex
1156 {std::make_shared<signal_t> (signal_t{
1157 "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name
1160 0.0625000f,// factor
1164 frequency_clock_t(0.00000f),// frequency
1166 false,// force_send_changed
1173 std::make_pair<bool, int>(false,0),// multiplex
1178 {std::make_shared<signal_t> (signal_t{
1179 "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name
1182 0.0625000f,// factor
1186 frequency_clock_t(0.00000f),// frequency
1188 false,// force_send_changed
1195 std::make_pair<bool, int>(false,0),// multiplex
1200 {std::make_shared<signal_t> (signal_t{
1201 "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name
1204 0.0625000f,// factor
1208 frequency_clock_t(0.00000f),// frequency
1210 false,// force_send_changed
1217 std::make_pair<bool, int>(false,0),// multiplex
1222 } // end signals vector
1223 })} // end message_definition entry
1224 , {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
1225 {std::make_shared<signal_t> (signal_t{
1226 "Eng.Total.Hours.Of.Operation",// generic_name
1229 0.0500000f,// factor
1233 frequency_clock_t(0.00000f),// frequency
1235 false,// force_send_changed
1242 std::make_pair<bool, int>(false,0),// multiplex
1247 {std::make_shared<signal_t> (signal_t{
1248 "Eng.Total.Revolutions",// generic_name
1255 frequency_clock_t(0.00000f),// frequency
1257 false,// force_send_changed
1264 std::make_pair<bool, int>(false,0),// multiplex
1269 } // end signals vector
1270 })} // end message_definition entry
1271 , {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
1272 {std::make_shared<signal_t> (signal_t{
1273 "Eng.Coolant.Temp",// generic_name
1276 0.0312500f,// factor
1280 frequency_clock_t(0.00000f),// frequency
1282 false,// force_send_changed
1289 std::make_pair<bool, int>(false,0),// multiplex
1294 {std::make_shared<signal_t> (signal_t{
1295 "Eng.Fuel.Temp1",// generic_name
1302 frequency_clock_t(0.00000f),// frequency
1304 false,// force_send_changed
1311 std::make_pair<bool, int>(false,0),// multiplex
1316 {std::make_shared<signal_t> (signal_t{
1317 "Eng.Intercooler.Temp",// generic_name
1324 frequency_clock_t(0.00000f),// frequency
1326 false,// force_send_changed
1333 std::make_pair<bool, int>(false,0),// multiplex
1338 {std::make_shared<signal_t> (signal_t{
1339 "Eng.Intercooler.Thermostat.Opening",// generic_name
1346 frequency_clock_t(0.00000f),// frequency
1348 false,// force_send_changed
1355 std::make_pair<bool, int>(false,0),// multiplex
1360 {std::make_shared<signal_t> (signal_t{
1361 "Eng.Oil.Temp1",// generic_name
1364 0.0312500f,// factor
1368 frequency_clock_t(0.00000f),// frequency
1370 false,// force_send_changed
1377 std::make_pair<bool, int>(false,0),// multiplex
1382 {std::make_shared<signal_t> (signal_t{
1383 "Eng.Turbo.Oil.Temp",// generic_name
1386 0.0312500f,// factor
1390 frequency_clock_t(0.00000f),// frequency
1392 false,// force_send_changed
1399 std::make_pair<bool, int>(false,0),// multiplex
1404 } // end signals vector
1405 })} // end message_definition entry
1406 }, // end message_definition vector
1407 { // beginning diagnostic_messages_ vector
1408 {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1415 decoder_t::decode_obd2_response,
1420 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1422 "engine.coolant.temperature",
1427 decoder_t::decode_obd2_response,
1432 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1439 decoder_t::decode_obd2_response,
1444 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1446 "intake.manifold.pressure",
1451 decoder_t::decode_obd2_response,
1456 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1463 decoder_t::decode_obd2_response,
1468 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1475 decoder_t::decode_obd2_response,
1480 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1482 "intake.air.temperature",
1487 decoder_t::decode_obd2_response,
1492 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1499 decoder_t::decode_obd2_response,
1504 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1506 "throttle.position",
1511 decoder_t::decode_obd2_response,
1516 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1523 decoder_t::decode_obd2_response,
1528 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1535 decoder_t::decode_obd2_response,
1540 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1547 decoder_t::decode_obd2_response,
1552 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1554 "barometric.pressure",
1559 decoder_t::decode_obd2_response,
1564 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1566 "ambient.air.temperature",
1571 decoder_t::decode_obd2_response,
1576 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1578 "commanded.throttle.position",
1583 decoder_t::decode_obd2_response,
1588 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1590 "ethanol.fuel.percentage",
1595 decoder_t::decode_obd2_response,
1600 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1602 "accelerator.pedal.position",
1607 decoder_t::decode_obd2_response,
1612 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1614 "hybrid.battery-pack.remaining.life",
1619 decoder_t::decode_obd2_response,
1624 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1626 "engine.oil.temperature",
1631 decoder_t::decode_obd2_response,
1636 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1643 decoder_t::decode_obd2_response,
1648 , {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
1655 decoder_t::decode_obd2_response,
1661 } // end diagnostic_messages_ vector
1662 })} // end message_set entry
1663 } // end message_set vector
1665 for(std::shared_ptr<message_set_t> cms: message_set_)
1667 std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
1668 for(std::shared_ptr<message_definition_t> cmd : messages_definition)
1670 cmd->set_parent(cms);
1671 std::vector<std::shared_ptr<signal_t>> signals = cmd->get_signals();
1672 for(std::shared_ptr<signal_t> sig: signals)
1674 sig->set_parent(cmd);
1678 std::vector<std::shared_ptr<diagnostic_message_t>> diagnostic_messages = cms->get_diagnostic_messages();
1679 for(std::shared_ptr<diagnostic_message_t> dm : diagnostic_messages)
1681 dm->set_parent(cms);
1686 const std::string application_t::get_diagnostic_bus() const