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