examples: updates
[apps/agl-service-can-low-level.git] / examples / j1939 / application-generated.cpp
1 #include "application.hpp"
2 #include "../can/can-decoder.hpp"
3 #include "../can/can-encoder.hpp"
4
5 application_t::application_t()
6         : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
7         , message_set_{
8                 {std::make_shared<message_set_t>(message_set_t{0,"Virtual J1939",
9                         { // beginning message_definition_ vector
10                                 {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61442,"ETC1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
11                                         { // beginning signals vector
12                                                 {std::make_shared<signal_t> (signal_t{
13                                                         "Eng.Momentary.Overspeed.Enable",// generic_name
14                                                         32,// bit_position
15                                                         2,// bit_size
16                                                         1.00000f,// factor
17                                                         0.00000f,// offset
18                                                         0,// min_value
19                                                         0,// max_value
20                                                         frequency_clock_t(0.00000f),// frequency
21                                                         true,// send_same
22                                                         false,// force_send_changed
23                                                         {
24                                                                 {0,"MomentaryEngOverspeedIsDisabled"},
25                                                                 {1,"MomentaryEngOverspeedIsEnabled"},
26                                                                 {2,"Reserved"},
27                                                                 {3,"TakeNoAction"}
28                                                         },// states
29                                                         true,// writable
30                                                         decoder_t::decode_state,// decoder
31                                                         nullptr,// encoder
32                                                         false,// received
33                                                         std::make_pair<bool, int>(false, 0),// multiplex
34                                                         0,// is_big_endian
35                                                         0,// is_signed
36                                                         ""// unit
37                                                 })},
38                                                 {std::make_shared<signal_t> (signal_t{
39                                                         "Momentary.Eng.Max.Power.Enable",// generic_name
40                                                         36,// bit_position
41                                                         2,// bit_size
42                                                         1.00000f,// factor
43                                                         0.00000f,// offset
44                                                         0,// min_value
45                                                         0,// max_value
46                                                         frequency_clock_t(0.00000f),// frequency
47                                                         true,// send_same
48                                                         false,// force_send_changed
49                                                         {
50                                                                 {2,"fault"},
51                                                                 {1,"mmntarilyRqingMaxPowerAvailable"},
52                                                                 {3,"notAvailable"},
53                                                                 {0,"notRqingMaxPowerAvailable"}
54                                                         },// states
55                                                         true,// writable
56                                                         decoder_t::decode_state,// decoder
57                                                         nullptr,// encoder
58                                                         false,// received
59                                                         std::make_pair<bool, int>(false, 0),// multiplex
60                                                         0,// is_big_endian
61                                                         0,// is_signed
62                                                         ""// unit
63                                                 })},
64                                                 {std::make_shared<signal_t> (signal_t{
65                                                         "Percent.Clutch.Slip",// generic_name
66                                                         24,// bit_position
67                                                         8,// bit_size
68                                                         0.400000f,// factor
69                                                         0.00000f,// offset
70                                                         0,// min_value
71                                                         0,// max_value
72                                                         frequency_clock_t(0.00000f),// frequency
73                                                         true,// send_same
74                                                         false,// force_send_changed
75                                                         {
76                                                         },// states
77                                                         true,// writable
78                                                         nullptr,// decoder
79                                                         nullptr,// encoder
80                                                         false,// received
81                                                         std::make_pair<bool, int>(false, 0),// multiplex
82                                                         0,// is_big_endian
83                                                         0,// is_signed
84                                                         "%"// unit
85                                                 })},
86                                                 {std::make_shared<signal_t> (signal_t{
87                                                         "Progressive.Shift.Disable",// generic_name
88                                                         34,// bit_position
89                                                         2,// bit_size
90                                                         1.00000f,// factor
91                                                         0.00000f,// offset
92                                                         0,// min_value
93                                                         0,// max_value
94                                                         frequency_clock_t(0.00000f),// frequency
95                                                         true,// send_same
96                                                         false,// force_send_changed
97                                                         {
98                                                                 {1,"ProgressiveShiftIsDisabled"},
99                                                                 {0,"ProgressiveShiftIsNotDisabled"},
100                                                                 {2,"Reserved"},
101                                                                 {3,"TakeNoAction"}
102                                                         },// states
103                                                         true,// writable
104                                                         decoder_t::decode_state,// decoder
105                                                         nullptr,// encoder
106                                                         false,// received
107                                                         std::make_pair<bool, int>(false, 0),// multiplex
108                                                         0,// is_big_endian
109                                                         0,// is_signed
110                                                         ""// unit
111                                                 })},
112                                                 {std::make_shared<signal_t> (signal_t{
113                                                         "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name
114                                                         56,// bit_position
115                                                         8,// bit_size
116                                                         1.00000f,// factor
117                                                         0.00000f,// offset
118                                                         0,// min_value
119                                                         0,// max_value
120                                                         frequency_clock_t(0.00000f),// frequency
121                                                         true,// send_same
122                                                         false,// force_send_changed
123                                                         {
124                                                         },// states
125                                                         true,// writable
126                                                         nullptr,// decoder
127                                                         nullptr,// encoder
128                                                         false,// received
129                                                         std::make_pair<bool, int>(false, 0),// multiplex
130                                                         0,// is_big_endian
131                                                         0,// is_signed
132                                                         ""// unit
133                                                 })},
134                                                 {std::make_shared<signal_t> (signal_t{
135                                                         "Trans.Driveline.Engaged",// generic_name
136                                                         0,// bit_position
137                                                         2,// bit_size
138                                                         1.00000f,// factor
139                                                         0.00000f,// offset
140                                                         0,// min_value
141                                                         0,// max_value
142                                                         frequency_clock_t(0.00000f),// frequency
143                                                         true,// send_same
144                                                         false,// force_send_changed
145                                                         {
146                                                                 {0,"DrivelineDisengaged"},
147                                                                 {1,"DrivelineEngaged"},
148                                                                 {2,"Error"},
149                                                                 {3,"NotAvailable"}
150                                                         },// states
151                                                         true,// writable
152                                                         decoder_t::decode_state,// decoder
153                                                         nullptr,// encoder
154                                                         false,// received
155                                                         std::make_pair<bool, int>(false, 0),// multiplex
156                                                         0,// is_big_endian
157                                                         0,// is_signed
158                                                         ""// unit
159                                                 })},
160                                                 {std::make_shared<signal_t> (signal_t{
161                                                         "Trans.Input.Shaft.Speed",// generic_name
162                                                         40,// bit_position
163                                                         16,// bit_size
164                                                         0.125000f,// factor
165                                                         0.00000f,// offset
166                                                         0,// min_value
167                                                         0,// max_value
168                                                         frequency_clock_t(0.00000f),// frequency
169                                                         true,// send_same
170                                                         false,// force_send_changed
171                                                         {
172                                                         },// states
173                                                         true,// writable
174                                                         nullptr,// decoder
175                                                         nullptr,// encoder
176                                                         false,// received
177                                                         std::make_pair<bool, int>(false, 0),// multiplex
178                                                         0,// is_big_endian
179                                                         0,// is_signed
180                                                         "rpm"// unit
181                                                 })},
182                                                 {std::make_shared<signal_t> (signal_t{
183                                                         "Trans.Output.Shaft.Speed",// generic_name
184                                                         8,// bit_position
185                                                         16,// bit_size
186                                                         0.125000f,// factor
187                                                         0.00000f,// offset
188                                                         0,// min_value
189                                                         0,// max_value
190                                                         frequency_clock_t(0.00000f),// frequency
191                                                         true,// send_same
192                                                         false,// force_send_changed
193                                                         {
194                                                         },// states
195                                                         true,// writable
196                                                         nullptr,// decoder
197                                                         nullptr,// encoder
198                                                         false,// received
199                                                         std::make_pair<bool, int>(false, 0),// multiplex
200                                                         0,// is_big_endian
201                                                         0,// is_signed
202                                                         "rpm"// unit
203                                                 })},
204                                                 {std::make_shared<signal_t> (signal_t{
205                                                         "Trans.Shift.In.Process",// generic_name
206                                                         4,// bit_position
207                                                         2,// bit_size
208                                                         1.00000f,// factor
209                                                         0.00000f,// offset
210                                                         0,// min_value
211                                                         0,// max_value
212                                                         frequency_clock_t(0.00000f),// frequency
213                                                         true,// send_same
214                                                         false,// force_send_changed
215                                                         {
216                                                                 {2,"Error"},
217                                                                 {3,"NotAvailable"},
218                                                                 {1,"ShiftInProcess"},
219                                                                 {0,"ShiftIsNotInProcess"}
220                                                         },// states
221                                                         true,// writable
222                                                         decoder_t::decode_state,// decoder
223                                                         nullptr,// encoder
224                                                         false,// received
225                                                         std::make_pair<bool, int>(false, 0),// multiplex
226                                                         0,// is_big_endian
227                                                         0,// is_signed
228                                                         ""// unit
229                                                 })},
230                                                 {std::make_shared<signal_t> (signal_t{
231                                                         "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name
232                                                         6,// bit_position
233                                                         2,// bit_size
234                                                         1.00000f,// factor
235                                                         0.00000f,// offset
236                                                         0,// min_value
237                                                         0,// max_value
238                                                         frequency_clock_t(0.00000f),// frequency
239                                                         true,// send_same
240                                                         false,// force_send_changed
241                                                         {
242                                                                 {2,"Error"},
243                                                                 {3,"NotAvailable"},
244                                                                 {1,"TransitionIsInProcess"},
245                                                                 {0,"TransitionIsNotInProcess"}
246                                                         },// states
247                                                         true,// writable
248                                                         decoder_t::decode_state,// decoder
249                                                         nullptr,// encoder
250                                                         false,// received
251                                                         std::make_pair<bool, int>(false, 0),// multiplex
252                                                         0,// is_big_endian
253                                                         0,// is_signed
254                                                         ""// unit
255                                                 })},
256                                                 {std::make_shared<signal_t> (signal_t{
257                                                         "Trns.Trque.Converter.Lockup.Engaged",// generic_name
258                                                         2,// bit_position
259                                                         2,// bit_size
260                                                         1.00000f,// factor
261                                                         0.00000f,// offset
262                                                         0,// min_value
263                                                         0,// max_value
264                                                         frequency_clock_t(0.00000f),// frequency
265                                                         true,// send_same
266                                                         false,// force_send_changed
267                                                         {
268                                                                 {2,"Error"},
269                                                                 {3,"NotAvailable"},
270                                                                 {0,"TorqueConverterLockupDisengaged"},
271                                                                 {1,"TorqueConverterLockupEngaged"}
272                                                         },// states
273                                                         true,// writable
274                                                         decoder_t::decode_state,// decoder
275                                                         nullptr,// encoder
276                                                         false,// received
277                                                         std::make_pair<bool, int>(false, 0),// multiplex
278                                                         0,// is_big_endian
279                                                         0,// is_signed
280                                                         ""// unit
281                                                 })}
282                                         } // end signals vector
283                                 })} // end message_definition entry
284 ,                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61444,"EEC1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
285                                         { // beginning signals vector
286                                                 {std::make_shared<signal_t> (signal_t{
287                                                         "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
288                                                         4,// bit_position
289                                                         4,// bit_size
290                                                         0.125000f,// factor
291                                                         0.00000f,// offset
292                                                         0,// min_value
293                                                         0,// max_value
294                                                         frequency_clock_t(0.00000f),// frequency
295                                                         true,// send_same
296                                                         false,// force_send_changed
297                                                         {
298                                                                 {0,"0000"},
299                                                                 {1,"0125"},
300                                                                 {7,"0875"},
301                                                                 {8,"1111NotAvailable"}
302                                                         },// states
303                                                         false,// writable
304                                                         decoder_t::decode_state,// decoder
305                                                         nullptr,// encoder
306                                                         false,// received
307                                                         std::make_pair<bool, int>(false, 0),// multiplex
308                                                         0,// is_big_endian
309                                                         0,// is_signed
310                                                         "%"// unit
311                                                 })},
312                                                 {std::make_shared<signal_t> (signal_t{
313                                                         "Actual.Eng.Percent.Torque",// generic_name
314                                                         16,// bit_position
315                                                         8,// bit_size
316                                                         1.00000f,// factor
317                                                         -125.000f,// offset
318                                                         0,// min_value
319                                                         0,// max_value
320                                                         frequency_clock_t(0.00000f),// frequency
321                                                         true,// send_same
322                                                         false,// force_send_changed
323                                                         {
324                                                         },// states
325                                                         false,// writable
326                                                         nullptr,// decoder
327                                                         nullptr,// encoder
328                                                         false,// received
329                                                         std::make_pair<bool, int>(false, 0),// multiplex
330                                                         0,// is_big_endian
331                                                         0,// is_signed
332                                                         "%"// unit
333                                                 })},
334                                                 {std::make_shared<signal_t> (signal_t{
335                                                         "Drivers.Demand.Eng.Percent.Torque",// generic_name
336                                                         8,// bit_position
337                                                         8,// bit_size
338                                                         1.00000f,// factor
339                                                         -125.000f,// offset
340                                                         0,// min_value
341                                                         0,// max_value
342                                                         frequency_clock_t(0.00000f),// frequency
343                                                         true,// send_same
344                                                         false,// force_send_changed
345                                                         {
346                                                         },// states
347                                                         false,// writable
348                                                         nullptr,// decoder
349                                                         nullptr,// encoder
350                                                         false,// received
351                                                         std::make_pair<bool, int>(false, 0),// multiplex
352                                                         0,// is_big_endian
353                                                         0,// is_signed
354                                                         "%"// unit
355                                                 })},
356                                                 {std::make_shared<signal_t> (signal_t{
357                                                         "Eng.Demand.Percent.Torque",// generic_name
358                                                         56,// bit_position
359                                                         8,// bit_size
360                                                         1.00000f,// factor
361                                                         -125.000f,// offset
362                                                         0,// min_value
363                                                         0,// max_value
364                                                         frequency_clock_t(0.00000f),// frequency
365                                                         true,// send_same
366                                                         false,// force_send_changed
367                                                         {
368                                                         },// states
369                                                         false,// writable
370                                                         nullptr,// decoder
371                                                         nullptr,// encoder
372                                                         false,// received
373                                                         std::make_pair<bool, int>(false, 0),// multiplex
374                                                         0,// is_big_endian
375                                                         0,// is_signed
376                                                         "%"// unit
377                                                 })},
378                                                 {std::make_shared<signal_t> (signal_t{
379                                                         "Eng.Speed",// generic_name
380                                                         24,// bit_position
381                                                         16,// bit_size
382                                                         0.125000f,// factor
383                                                         0.00000f,// offset
384                                                         0,// min_value
385                                                         0,// max_value
386                                                         frequency_clock_t(0.00000f),// frequency
387                                                         true,// send_same
388                                                         false,// force_send_changed
389                                                         {
390                                                         },// states
391                                                         false,// writable
392                                                         nullptr,// decoder
393                                                         nullptr,// encoder
394                                                         false,// received
395                                                         std::make_pair<bool, int>(false, 0),// multiplex
396                                                         0,// is_big_endian
397                                                         0,// is_signed
398                                                         "rpm"// unit
399                                                 })},
400                                                 {std::make_shared<signal_t> (signal_t{
401                                                         "Eng.Starter.Mode",// generic_name
402                                                         48,// bit_position
403                                                         4,// bit_size
404                                                         1.00000f,// factor
405                                                         0.00000f,// offset
406                                                         0,// min_value
407                                                         0,// max_value
408                                                         frequency_clock_t(0.00000f),// frequency
409                                                         true,// send_same
410                                                         false,// force_send_changed
411                                                         {
412                                                                 {9,"1011Reserved"},
413                                                                 {14,"error"},
414                                                                 {15,"notAvailable"},
415                                                                 {0,"startNotRqed"},
416                                                                 {2,"starterActiveGearEngaged"},
417                                                                 {1,"starterActiveGearNotEngaged"},
418                                                                 {12,"starterInhibitedReasonUnknown"},
419                                                                 {3,"strtFnshdStrtrNtActvAftrHvngBnA"},
420                                                                 {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"},
421                                                                 {5,"strtrInhbtdDTEngNtReadyForStart"},
422                                                                 {7,"strtrInhbtdDToActiveImmobilizer"},
423                                                                 {4,"strtrInhbtdDToEngAlreadyRunning"},
424                                                                 {8,"strtrInhbtdDueToStarterOvertemp"}
425                                                         },// states
426                                                         false,// writable
427                                                         decoder_t::decode_state,// decoder
428                                                         nullptr,// encoder
429                                                         false,// received
430                                                         std::make_pair<bool, int>(false, 0),// multiplex
431                                                         0,// is_big_endian
432                                                         0,// is_signed
433                                                         ""// unit
434                                                 })},
435                                                 {std::make_shared<signal_t> (signal_t{
436                                                         "Eng.Torque.Mode",// generic_name
437                                                         0,// bit_position
438                                                         4,// bit_size
439                                                         1.00000f,// factor
440                                                         0.00000f,// offset
441                                                         0,// min_value
442                                                         0,// max_value
443                                                         frequency_clock_t(0.00000f),// frequency
444                                                         true,// send_same
445                                                         false,// force_send_changed
446                                                         {
447                                                                 {7,"ABS control"},
448                                                                 {5,"ASR control"},
449                                                                 {1,"Accelerator pedal/operator selec"},
450                                                                 {10,"Braking system"},
451                                                                 {2,"Cruise control"},
452                                                                 {9,"High speed governor"},
453                                                                 {0,"Low idle governor/no request (de"},
454                                                                 {15,"Not available"},
455                                                                 {3,"PTO governor"},
456                                                                 {11,"Remote accelerator"},
457                                                                 {4,"Road speed governor"},
458                                                                 {8,"Torque limiting"},
459                                                                 {6,"Transmission control"}
460                                                         },// states
461                                                         false,// writable
462                                                         decoder_t::decode_state,// decoder
463                                                         nullptr,// encoder
464                                                         false,// received
465                                                         std::make_pair<bool, int>(false, 0),// multiplex
466                                                         0,// is_big_endian
467                                                         0,// is_signed
468                                                         ""// unit
469                                                 })},
470                                                 {std::make_shared<signal_t> (signal_t{
471                                                         "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
472                                                         40,// bit_position
473                                                         8,// bit_size
474                                                         1.00000f,// factor
475                                                         0.00000f,// offset
476                                                         0,// min_value
477                                                         0,// max_value
478                                                         frequency_clock_t(0.00000f),// frequency
479                                                         true,// send_same
480                                                         false,// force_send_changed
481                                                         {
482                                                         },// states
483                                                         false,// writable
484                                                         nullptr,// decoder
485                                                         nullptr,// encoder
486                                                         false,// received
487                                                         std::make_pair<bool, int>(false, 0),// multiplex
488                                                         0,// is_big_endian
489                                                         0,// is_signed
490                                                         ""// unit
491                                                 })}
492                                         } // end signals vector
493                                 })} // end message_definition entry
494 ,                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61449,"VDC2", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
495                                         { // beginning signals vector
496                                                 {std::make_shared<signal_t> (signal_t{
497                                                         "Lateral.Acceleration",// generic_name
498                                                         40,// bit_position
499                                                         16,// bit_size
500                                                         0.000488281f,// factor
501                                                         -15.6870f,// offset
502                                                         0,// min_value
503                                                         0,// max_value
504                                                         frequency_clock_t(0.00000f),// frequency
505                                                         true,// send_same
506                                                         false,// force_send_changed
507                                                         {
508                                                         },// states
509                                                         false,// writable
510                                                         nullptr,// decoder
511                                                         nullptr,// encoder
512                                                         false,// received
513                                                         std::make_pair<bool, int>(false, 0),// multiplex
514                                                         0,// is_big_endian
515                                                         0,// is_signed
516                                                         "m/s/s"// unit
517                                                 })},
518                                                 {std::make_shared<signal_t> (signal_t{
519                                                         "Longitudinal.Acceleration",// generic_name
520                                                         56,// bit_position
521                                                         8,// bit_size
522                                                         0.100000f,// factor
523                                                         -12.5000f,// offset
524                                                         0,// min_value
525                                                         0,// max_value
526                                                         frequency_clock_t(0.00000f),// frequency
527                                                         true,// send_same
528                                                         false,// force_send_changed
529                                                         {
530                                                         },// states
531                                                         false,// writable
532                                                         nullptr,// decoder
533                                                         nullptr,// encoder
534                                                         false,// received
535                                                         std::make_pair<bool, int>(false, 0),// multiplex
536                                                         0,// is_big_endian
537                                                         0,// is_signed
538                                                         "m/s/s"// unit
539                                                 })},
540                                                 {std::make_shared<signal_t> (signal_t{
541                                                         "Steer.Wheel.Angle",// generic_name
542                                                         0,// bit_position
543                                                         16,// bit_size
544                                                         0.000976562f,// factor
545                                                         -31.3740f,// offset
546                                                         0,// min_value
547                                                         0,// max_value
548                                                         frequency_clock_t(0.00000f),// frequency
549                                                         true,// send_same
550                                                         false,// force_send_changed
551                                                         {
552                                                         },// states
553                                                         false,// writable
554                                                         nullptr,// decoder
555                                                         nullptr,// encoder
556                                                         false,// received
557                                                         std::make_pair<bool, int>(false, 0),// multiplex
558                                                         0,// is_big_endian
559                                                         0,// is_signed
560                                                         "rad"// unit
561                                                 })},
562                                                 {std::make_shared<signal_t> (signal_t{
563                                                         "Steer.Wheel.Angle.Sensor.Type",// generic_name
564                                                         22,// bit_position
565                                                         2,// bit_size
566                                                         1.00000f,// factor
567                                                         0.00000f,// offset
568                                                         0,// min_value
569                                                         0,// max_value
570                                                         frequency_clock_t(0.00000f),// frequency
571                                                         true,// send_same
572                                                         false,// force_send_changed
573                                                         {
574                                                                 {1,"AbsMeasuringPrinciple"},
575                                                                 {3,"NotAvailable"},
576                                                                 {0,"RelativeMeasuringPrinciple"},
577                                                                 {2,"Reserved"}
578                                                         },// states
579                                                         false,// writable
580                                                         decoder_t::decode_state,// decoder
581                                                         nullptr,// encoder
582                                                         false,// received
583                                                         std::make_pair<bool, int>(false, 0),// multiplex
584                                                         0,// is_big_endian
585                                                         0,// is_signed
586                                                         ""// unit
587                                                 })},
588                                                 {std::make_shared<signal_t> (signal_t{
589                                                         "Steer.Wheel.Turn.Counter",// generic_name
590                                                         16,// bit_position
591                                                         6,// bit_size
592                                                         1.00000f,// factor
593                                                         -32.0000f,// offset
594                                                         0,// min_value
595                                                         0,// max_value
596                                                         frequency_clock_t(0.00000f),// frequency
597                                                         true,// send_same
598                                                         false,// force_send_changed
599                                                         {
600                                                         },// states
601                                                         false,// writable
602                                                         nullptr,// decoder
603                                                         nullptr,// encoder
604                                                         false,// received
605                                                         std::make_pair<bool, int>(false, 0),// multiplex
606                                                         0,// is_big_endian
607                                                         0,// is_signed
608                                                         "turns"// unit
609                                                 })},
610                                                 {std::make_shared<signal_t> (signal_t{
611                                                         "Yaw.Rate",// generic_name
612                                                         24,// bit_position
613                                                         16,// bit_size
614                                                         0.000122070f,// factor
615                                                         -3.92000f,// offset
616                                                         0,// min_value
617                                                         0,// max_value
618                                                         frequency_clock_t(0.00000f),// frequency
619                                                         true,// send_same
620                                                         false,// force_send_changed
621                                                         {
622                                                         },// states
623                                                         false,// writable
624                                                         nullptr,// decoder
625                                                         nullptr,// encoder
626                                                         false,// received
627                                                         std::make_pair<bool, int>(false, 0),// multiplex
628                                                         0,// is_big_endian
629                                                         0,// is_signed
630                                                         "rad/s"// unit
631                                                 })}
632                                         } // end signals vector
633                                 })} // end message_definition entry
634 ,                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65215,"EBC2", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
635                                         { // beginning signals vector
636                                                 {std::make_shared<signal_t> (signal_t{
637                                                         "Front.Axle.Speed",// generic_name
638                                                         0,// bit_position
639                                                         16,// bit_size
640                                                         0.00390625f,// factor
641                                                         0.00000f,// offset
642                                                         0,// min_value
643                                                         0,// max_value
644                                                         frequency_clock_t(0.00000f),// frequency
645                                                         true,// send_same
646                                                         false,// force_send_changed
647                                                         {
648                                                         },// states
649                                                         false,// writable
650                                                         nullptr,// decoder
651                                                         nullptr,// encoder
652                                                         false,// received
653                                                         std::make_pair<bool, int>(false, 0),// multiplex
654                                                         0,// is_big_endian
655                                                         0,// is_signed
656                                                         "km/h"// unit
657                                                 })},
658                                                 {std::make_shared<signal_t> (signal_t{
659                                                         "Relative.Speed.Front.Axle.Left.Wheel",// generic_name
660                                                         16,// bit_position
661                                                         8,// bit_size
662                                                         0.0625000f,// factor
663                                                         -7.81250f,// offset
664                                                         0,// min_value
665                                                         0,// max_value
666                                                         frequency_clock_t(0.00000f),// frequency
667                                                         true,// send_same
668                                                         false,// force_send_changed
669                                                         {
670                                                         },// states
671                                                         false,// writable
672                                                         nullptr,// decoder
673                                                         nullptr,// encoder
674                                                         false,// received
675                                                         std::make_pair<bool, int>(false, 0),// multiplex
676                                                         0,// is_big_endian
677                                                         0,// is_signed
678                                                         "km/h"// unit
679                                                 })},
680                                                 {std::make_shared<signal_t> (signal_t{
681                                                         "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name
682                                                         32,// bit_position
683                                                         8,// bit_size
684                                                         0.0625000f,// factor
685                                                         -7.81250f,// offset
686                                                         0,// min_value
687                                                         0,// max_value
688                                                         frequency_clock_t(0.00000f),// frequency
689                                                         true,// send_same
690                                                         false,// force_send_changed
691                                                         {
692                                                         },// states
693                                                         false,// writable
694                                                         nullptr,// decoder
695                                                         nullptr,// encoder
696                                                         false,// received
697                                                         std::make_pair<bool, int>(false, 0),// multiplex
698                                                         0,// is_big_endian
699                                                         0,// is_signed
700                                                         "km/h"// unit
701                                                 })},
702                                                 {std::make_shared<signal_t> (signal_t{
703                                                         "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name
704                                                         48,// bit_position
705                                                         8,// bit_size
706                                                         0.0625000f,// factor
707                                                         -7.81250f,// offset
708                                                         0,// min_value
709                                                         0,// max_value
710                                                         frequency_clock_t(0.00000f),// frequency
711                                                         true,// send_same
712                                                         false,// force_send_changed
713                                                         {
714                                                         },// states
715                                                         false,// writable
716                                                         nullptr,// decoder
717                                                         nullptr,// encoder
718                                                         false,// received
719                                                         std::make_pair<bool, int>(false, 0),// multiplex
720                                                         0,// is_big_endian
721                                                         0,// is_signed
722                                                         "km/h"// unit
723                                                 })},
724                                                 {std::make_shared<signal_t> (signal_t{
725                                                         "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name
726                                                         24,// bit_position
727                                                         8,// bit_size
728                                                         0.0625000f,// factor
729                                                         -7.81250f,// offset
730                                                         0,// min_value
731                                                         0,// max_value
732                                                         frequency_clock_t(0.00000f),// frequency
733                                                         true,// send_same
734                                                         false,// force_send_changed
735                                                         {
736                                                         },// states
737                                                         false,// writable
738                                                         nullptr,// decoder
739                                                         nullptr,// encoder
740                                                         false,// received
741                                                         std::make_pair<bool, int>(false, 0),// multiplex
742                                                         0,// is_big_endian
743                                                         0,// is_signed
744                                                         "km/h"// unit
745                                                 })},
746                                                 {std::make_shared<signal_t> (signal_t{
747                                                         "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name
748                                                         40,// bit_position
749                                                         8,// bit_size
750                                                         0.0625000f,// factor
751                                                         -7.81250f,// offset
752                                                         0,// min_value
753                                                         0,// max_value
754                                                         frequency_clock_t(0.00000f),// frequency
755                                                         true,// send_same
756                                                         false,// force_send_changed
757                                                         {
758                                                         },// states
759                                                         false,// writable
760                                                         nullptr,// decoder
761                                                         nullptr,// encoder
762                                                         false,// received
763                                                         std::make_pair<bool, int>(false, 0),// multiplex
764                                                         0,// is_big_endian
765                                                         0,// is_signed
766                                                         "km/h"// unit
767                                                 })},
768                                                 {std::make_shared<signal_t> (signal_t{
769                                                         "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name
770                                                         56,// bit_position
771                                                         8,// bit_size
772                                                         0.0625000f,// factor
773                                                         -7.81250f,// offset
774                                                         0,// min_value
775                                                         0,// max_value
776                                                         frequency_clock_t(0.00000f),// frequency
777                                                         true,// send_same
778                                                         false,// force_send_changed
779                                                         {
780                                                         },// states
781                                                         false,// writable
782                                                         nullptr,// decoder
783                                                         nullptr,// encoder
784                                                         false,// received
785                                                         std::make_pair<bool, int>(false, 0),// multiplex
786                                                         0,// is_big_endian
787                                                         0,// is_signed
788                                                         "km/h"// unit
789                                                 })}
790                                         } // end signals vector
791                                 })} // end message_definition entry
792 ,                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65253,"HOURS", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
793                                         { // beginning signals vector
794                                                 {std::make_shared<signal_t> (signal_t{
795                                                         "Eng.Total.Hours.Of.Operation",// generic_name
796                                                         0,// bit_position
797                                                         32,// bit_size
798                                                         0.0500000f,// factor
799                                                         0.00000f,// offset
800                                                         0,// min_value
801                                                         0,// max_value
802                                                         frequency_clock_t(0.00000f),// frequency
803                                                         true,// send_same
804                                                         false,// force_send_changed
805                                                         {
806                                                         },// states
807                                                         false,// writable
808                                                         nullptr,// decoder
809                                                         nullptr,// encoder
810                                                         false,// received
811                                                         std::make_pair<bool, int>(false, 0),// multiplex
812                                                         0,// is_big_endian
813                                                         0,// is_signed
814                                                         "hr"// unit
815                                                 })},
816                                                 {std::make_shared<signal_t> (signal_t{
817                                                         "Eng.Total.Revolutions",// generic_name
818                                                         32,// bit_position
819                                                         32,// bit_size
820                                                         1000.00f,// factor
821                                                         0.00000f,// offset
822                                                         0,// min_value
823                                                         0,// max_value
824                                                         frequency_clock_t(0.00000f),// frequency
825                                                         true,// send_same
826                                                         false,// force_send_changed
827                                                         {
828                                                         },// states
829                                                         false,// writable
830                                                         nullptr,// decoder
831                                                         nullptr,// encoder
832                                                         false,// received
833                                                         std::make_pair<bool, int>(false, 0),// multiplex
834                                                         0,// is_big_endian
835                                                         0,// is_signed
836                                                         "r"// unit
837                                                 })}
838                                         } // end signals vector
839                                 })} // end message_definition entry
840 ,                               {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65262,"ET1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
841                                         { // beginning signals vector
842                                                 {std::make_shared<signal_t> (signal_t{
843                                                         "Eng.Coolant.Temp",// generic_name
844                                                         0,// bit_position
845                                                         8,// bit_size
846                                                         0.0312500f,// factor
847                                                         -273.000f,// offset
848                                                         0,// min_value
849                                                         0,// max_value
850                                                         frequency_clock_t(0.00000f),// frequency
851                                                         true,// send_same
852                                                         false,// force_send_changed
853                                                         {
854                                                         },// states
855                                                         false,// writable
856                                                         nullptr,// decoder
857                                                         nullptr,// encoder
858                                                         false,// received
859                                                         std::make_pair<bool, int>(false, 0),// multiplex
860                                                         0,// is_big_endian
861                                                         0,// is_signed
862                                                         "deg C"// unit
863                                                 })},
864                                                 {std::make_shared<signal_t> (signal_t{
865                                                         "Eng.Fuel.Temp1",// generic_name
866                                                         8,// bit_position
867                                                         8,// bit_size
868                                                         1.00000f,// factor
869                                                         -40.0000f,// offset
870                                                         0,// min_value
871                                                         0,// max_value
872                                                         frequency_clock_t(0.00000f),// frequency
873                                                         true,// send_same
874                                                         false,// force_send_changed
875                                                         {
876                                                         },// states
877                                                         false,// writable
878                                                         nullptr,// decoder
879                                                         nullptr,// encoder
880                                                         false,// received
881                                                         std::make_pair<bool, int>(false, 0),// multiplex
882                                                         0,// is_big_endian
883                                                         0,// is_signed
884                                                         "deg C"// unit
885                                                 })},
886                                                 {std::make_shared<signal_t> (signal_t{
887                                                         "Eng.Intercooler.Temp",// generic_name
888                                                         48,// bit_position
889                                                         8,// bit_size
890                                                         1.00000f,// factor
891                                                         -40.0000f,// offset
892                                                         0,// min_value
893                                                         0,// max_value
894                                                         frequency_clock_t(0.00000f),// frequency
895                                                         true,// send_same
896                                                         false,// force_send_changed
897                                                         {
898                                                         },// states
899                                                         false,// writable
900                                                         nullptr,// decoder
901                                                         nullptr,// encoder
902                                                         false,// received
903                                                         std::make_pair<bool, int>(false, 0),// multiplex
904                                                         0,// is_big_endian
905                                                         0,// is_signed
906                                                         "deg C"// unit
907                                                 })},
908                                                 {std::make_shared<signal_t> (signal_t{
909                                                         "Eng.Intercooler.Thermostat.Opening",// generic_name
910                                                         56,// bit_position
911                                                         8,// bit_size
912                                                         0.400000f,// factor
913                                                         0.00000f,// offset
914                                                         0,// min_value
915                                                         0,// max_value
916                                                         frequency_clock_t(0.00000f),// frequency
917                                                         true,// send_same
918                                                         false,// force_send_changed
919                                                         {
920                                                         },// states
921                                                         false,// writable
922                                                         nullptr,// decoder
923                                                         nullptr,// encoder
924                                                         false,// received
925                                                         std::make_pair<bool, int>(false, 0),// multiplex
926                                                         0,// is_big_endian
927                                                         0,// is_signed
928                                                         "%"// unit
929                                                 })},
930                                                 {std::make_shared<signal_t> (signal_t{
931                                                         "Eng.Oil.Temp1",// generic_name
932                                                         16,// bit_position
933                                                         16,// bit_size
934                                                         0.0312500f,// factor
935                                                         -273.000f,// offset
936                                                         0,// min_value
937                                                         0,// max_value
938                                                         frequency_clock_t(0.00000f),// frequency
939                                                         true,// send_same
940                                                         false,// force_send_changed
941                                                         {
942                                                         },// states
943                                                         false,// writable
944                                                         nullptr,// decoder
945                                                         nullptr,// encoder
946                                                         false,// received
947                                                         std::make_pair<bool, int>(false, 0),// multiplex
948                                                         0,// is_big_endian
949                                                         0,// is_signed
950                                                         "deg C"// unit
951                                                 })},
952                                                 {std::make_shared<signal_t> (signal_t{
953                                                         "Eng.Turbo.Oil.Temp",// generic_name
954                                                         32,// bit_position
955                                                         16,// bit_size
956                                                         0.0312500f,// factor
957                                                         -273.000f,// offset
958                                                         0,// min_value
959                                                         0,// max_value
960                                                         frequency_clock_t(0.00000f),// frequency
961                                                         true,// send_same
962                                                         false,// force_send_changed
963                                                         {
964                                                         },// states
965                                                         false,// writable
966                                                         nullptr,// decoder
967                                                         nullptr,// encoder
968                                                         false,// received
969                                                         std::make_pair<bool, int>(false, 0),// multiplex
970                                                         0,// is_big_endian
971                                                         0,// is_signed
972                                                         "deg C"// unit
973                                                 })}
974                                         } // end signals vector
975                                 })} // end message_definition entry
976
977                 }, // end message_definition vector
978                         { // beginning diagnostic_messages_ vector
979
980                         } // end diagnostic_messages_ vector
981                 })} // end message_set entry
982         } // end message_set vector
983 {
984         for(std::shared_ptr<message_set_t> cms: message_set_)
985         {
986                 vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
987                 for(std::shared_ptr<message_definition_t> cmd : messages_definition)
988                 {
989                         cmd->set_parent(cms);
990                         std::vector<std::shared_ptr<signal_t>> signals = cmd->get_signals();
991                         for(std::shared_ptr<signal_t> sig: signals)
992                         {
993                                 sig->set_parent(cmd);
994                         }
995                 }
996
997                 std::vector<std::shared_ptr<diagnostic_message_t>> diagnostic_messages = cms->get_diagnostic_messages();
998                 for(std::shared_ptr<diagnostic_message_t> dm : diagnostic_messages)
999                 {
1000                         dm->set_parent(cms);
1001                 }
1002         }
1003                 }
1004
1005 const std::string application_t::get_diagnostic_bus() const
1006 {
1007         return "";
1008 }
1009
1010