Add steering wheel LIN message signal definitions
[apps/agl-service-can-low-level.git] / examples / agl-vcar / signals.json
1 {   "name": "AGL Virtual Car",
2         "version": "2.0",
3         "extra_sources": [],
4         "initializers": [],
5         "loopers": [],
6         "buses": {},
7         "commands": [],
8         "messages": {
9                 "0x620": {
10                         "bus": "hs",
11                         "is_fd" : false,
12                         "is_extended": false,
13                         "is_j1939" : false,
14                         "length" : 8,
15                         "signals": {
16                                 "doors.driver.open": {
17                                         "generic_name": "doors.front_left.open",
18                                         "bit_position": 43,
19                                         "bit_size": 1,
20                                         "factor": 1.0,
21                                         "offset": 0,
22                                         "writable": true,
23                                         "decoder": "decoder_t::decode_boolean"},
24                                 "doors.passenger.open": {
25                                         "generic_name": "doors.front_right.open",
26                                         "bit_position": 44,
27                                         "bit_size": 1,
28                                         "factor": 1.0,
29                                         "offset": 0,
30                                         "writable": true,
31                                         "decoder": "decoder_t::decode_boolean"},
32                                 "doors.rearleft.open": {
33                                         "generic_name": "doors.rear_left.open",
34                                         "bit_position": 46,
35                                         "bit_size": 1,
36                                         "factor": 1.0,
37                                         "offset": 0,
38                                         "writable": true,
39                                         "decoder": "decoder_t::decode_boolean"},
40                                 "doors.rearright.open": {
41                                         "generic_name": "doors.rear_right.open",
42                                         "bit_position": 45,
43                                         "bit_size": 4,
44                                         "factor": 1.0,
45                                         "offset": 0,
46                                         "writable": true,
47                                         "decoder": "decoder_t::decode_boolean"},
48                                 "doors.coffer.open": {
49                                         "generic_name": "doors.boot.open",
50                                         "bit_position": 47,
51                                         "bit_size": 1,
52                                         "factor": 1.0,
53                                         "offset": 0,
54                                         "writable": true,
55                                         "decoder": "decoder_t::decode_boolean"}
56                         }
57                 },
58                 "0x799": {
59                         "bus": "hs",
60                         "is_fd" : false,
61                         "is_extended": false,
62                         "is_j1939" : false,
63                         "length" : 8,
64                         "signals": {
65                                 "windows.driver.open": {
66                                         "generic_name": "windows.front_left.open",
67                                         "bit_position": 43,
68                                         "bit_size": 1,
69                                         "factor": 1.0,
70                                         "offset": 0,
71                                         "writable": true,
72                                         "decoder": "decoder_t::decode_boolean"},
73                                 "windows.passenger.open": {
74                                         "generic_name": "windows.front_right.open",
75                                         "bit_position": 44,
76                                         "bit_size": 1,
77                                         "factor": 1.0,
78                                         "offset": 0,
79                                         "writable": true,
80                                         "decoder": "decoder_t::decode_boolean"},
81                                 "windows.rearleft.open": {
82                                         "generic_name": "windows.rear_left.open",
83                                         "bit_position": 46,
84                                         "bit_size": 1,
85                                         "factor": 1.0,
86                                         "offset": 0,
87                                         "writable": true,
88                                         "decoder": "decoder_t::decode_boolean"},
89                                 "windows.rearright.open": {
90                                         "generic_name": "windows.rear_right.open",
91                                         "bit_position": 45,
92                                         "bit_size": 4,
93                                         "factor": 1.0,
94                                         "offset": 0,
95                                         "writable": true,
96                                         "decoder": "decoder_t::decode_boolean"}
97                 }
98         },
99         "0x3D9": {
100         "bus": "hs",
101         "is_fd" : true,
102         "is_extended": false,
103         "is_j1939" : false,
104         "length" : 8,
105         "signals": {
106                 "PT_FuelLevelPct": {
107                         "generic_name": "fuel.level",
108                         "bit_position": 8,
109                         "bit_size": 8,
110                         "factor": 0.392157,
111                         "offset": 0,
112                         "writable": true
113                 },
114                 "PT_EngineSpeed": {
115                         "generic_name": "engine.speed",
116                         "bit_position": 16,
117                         "bit_size": 16,
118                         "factor": 0.25,
119                         "offset": 0,
120                         "writable": true
121                 },
122                 "PT_FuelLevelLow": {
123                         "generic_name": "fuel.level.low",
124                         "bit_position": 55,
125                         "bit_size": 1,
126                         "factor": 1,
127                         "offset": 0,
128                         "writable": true,
129                         "decoder": "decoder_t::decode_boolean"
130                 }
131         }
132         },
133         "0x4D1": {
134         "bus": "hs",
135         "is_fd" : false,
136         "is_extended": false,
137         "is_j1939" : false,
138         "length" : 8,
139         "signals": {
140                 "PT_EngineOilTempHigh": {
141                         "generic_name": "engine.oil.temp.high",
142                         "bit_position": 7,
143                         "bit_size": 1,
144                         "factor": 1,
145                         "offset": 0,
146                         "writable": true,
147                         "decoder": "decoder_t::decode_boolean"
148                 },
149                 "PT_EngineOilTemp": {
150                         "generic_name": "engine.oil.temp",
151                         "bit_position": 16,
152                         "bit_size": 8,
153                         "factor": 1,
154                         "offset": 0,
155                         "writable": true
156                 }
157         }
158         },
159         "0x3E9": {
160         "bus": "hs",
161         "is_fd" : false,
162         "is_extended": false,
163         "is_j1939" : false,
164         "length" : 8,
165         "signals": {
166                 "PT_VehicleAvgSpeed": {
167                         "generic_name": "vehicle.average.speed",
168                         "bit_position": 0,
169                         "bit_size": 15,
170                         "factor": 0.015625,
171                         "offset": 0,
172                         "writable": false
173                 }
174         }
175         },
176         "0x30": {
177         "bus": "ls",
178         "is_fd" : false,
179         "is_extended": true,
180         "is_j1939" : false,
181         "length" : 8,
182         "signals": {
183                 "LeftTemperature": {
184                         "generic_name": "hvac.temperature.left",
185                         "bit_position": 0,
186                         "bit_size": 8,
187                         "factor": 1,
188                         "offset": 0,
189                         "writable": true
190                 },
191                 "RightTemperature": {
192                         "generic_name": "hvac.temperature.right",
193                         "bit_position": 8,
194                         "bit_size": 8,
195                         "factor": 1,
196                         "offset": 0,
197                         "writable": true
198                 },
199                 "Temperature": {
200                         "generic_name": "hvac.temperature.average",
201                         "bit_position": 16,
202                         "bit_size": 8,
203                         "factor": 1,
204                         "offset": 0,
205                         "writable": true
206                 },
207                 "FanSpeed": {
208                         "generic_name": "hvac.fan.speed",
209                         "bit_position": 32,
210                         "bit_size": 8,
211                         "factor": 23.529411765,
212                         "offset": 0,
213                         "writable": true
214                 }
215         }
216         },
217         "0x21": {
218         "bus": "ls",
219         "signals": {
220                 "SW_Previous": {
221                         "generic_name": "steering_wheel.previous",
222                         "bit_position": 32,
223                         "bit_size": 1,
224                         "factor": 1,
225                         "offset": 0,
226                         "decoder": "decoder_t::decode_boolean",
227                         "writable": false
228                 },
229                 "SW_VolumeUp": {
230                         "generic_name": "steering_wheel.volume.up",
231                         "bit_position": 33,
232                         "bit_size": 1,
233                         "factor": 1,
234                         "offset": 0,
235                         "decoder": "decoder_t::decode_boolean",
236                         "writable": false
237                 },
238                 "SW_Mode": {
239                         "generic_name": "steering_wheel.mode",
240                         "bit_position": 34,
241                         "bit_size": 1,
242                         "factor": 1,
243                         "offset": 0,
244                         "decoder": "decoder_t::decode_boolean",
245                         "writable": false
246                 },
247                 "SW_VolumeDown": {
248                         "generic_name": "steering_wheel.volume.down",
249                         "bit_position": 35,
250                         "bit_size": 1,
251                         "factor": 1,
252                         "offset": 0,
253                         "decoder": "decoder_t::decode_boolean",
254                         "writable": false
255                 },
256                 "SW_Next": {
257                         "generic_name": "steering_wheel.next",
258                         "bit_position": 36,
259                         "bit_size": 1,
260                         "factor": 1,
261                         "offset": 0,
262                         "decoder": "decoder_t::decode_boolean",
263                         "writable": false
264                 },
265                 "SW_Info": {
266                         "generic_name": "steering_wheel.info",
267                         "bit_position": 38,
268                         "bit_size": 1,
269                         "factor": 1,
270                         "offset": 0,
271                         "decoder": "decoder_t::decode_boolean",
272                         "writable": false
273                 },
274                 "SW_VolumeMute": {
275                         "generic_name": "steering_wheel.volume.mute",
276                         "bit_position": 39,
277                         "bit_size": 1,
278                         "factor": 1,
279                         "offset": 0,
280                         "decoder": "decoder_t::decode_boolean",
281                         "writable": false
282                 },
283                 "SW_Voice": {
284                         "generic_name": "steering_wheel.voice",
285                         "bit_position": 45,
286                         "bit_size": 1,
287                         "factor": 1,
288                         "offset": 0,
289                         "decoder": "decoder_t::decode_boolean",
290                         "writable": false
291                 },
292                 "SW_PhoneHangup": {
293                         "generic_name": "steering_wheel.phone.hangup",
294                         "bit_position": 46,
295                         "bit_size": 1,
296                         "factor": 1,
297                         "offset": 0,
298                         "decoder": "decoder_t::decode_boolean",
299                         "writable": false
300                 },
301                 "SW_PhoneCall": {
302                         "generic_name": "steering_wheel.phone.call",
303                         "bit_position": 47,
304                         "bit_size": 1,
305                         "factor": 1,
306                         "offset": 0,
307                         "decoder": "decoder_t::decode_boolean",
308                         "writable": false
309                 },
310                 "SW_CruiseEnable": {
311                         "generic_name": "steering_wheel.cruise.enable",
312                         "bit_position": 48,
313                         "bit_size": 1,
314                         "factor": 1,
315                         "offset": 0,
316                         "decoder": "decoder_t::decode_boolean",
317                         "writable": false
318                 },
319                 "SW_CruiseResume": {
320                         "generic_name": "steering_wheel.cruise.resume",
321                         "bit_position": 49,
322                         "bit_size": 1,
323                         "factor": 1,
324                         "offset": 0,
325                         "decoder": "decoder_t::decode_boolean",
326                         "writable": false
327                 },
328                 "SW_CruiseSet": {
329                         "generic_name": "steering_wheel.cruise.set",
330                         "bit_position": 51,
331                         "bit_size": 1,
332                         "factor": 1,
333                         "offset": 0,
334                         "decoder": "decoder_t::decode_boolean",
335                         "writable": false
336                 },
337                 "SW_CruiseCancel": {
338                         "generic_name": "steering_wheel.cruise.cancel",
339                         "bit_position": 52,
340                         "bit_size": 1,
341                         "factor": 1,
342                         "offset": 0,
343                         "decoder": "decoder_t::decode_boolean",
344                         "writable": false
345                 },
346                 "SW_CruiseLimit": {
347                         "generic_name": "steering_wheel.cruise.limit",
348                         "bit_position": 54,
349                         "bit_size": 1,
350                         "factor": 1,
351                         "offset": 0,
352                         "decoder": "decoder_t::decode_boolean",
353                         "writable": false
354                 },
355                 "SW_CruiseDistance": {
356                         "generic_name": "steering_wheel.cruise.distance",
357                         "bit_position": 55,
358                         "bit_size": 1,
359                         "factor": 1,
360                         "offset": 0,
361                         "decoder": "decoder_t::decode_boolean",
362                         "writable": false
363                 },
364                 "SW_Horn": {
365                         "generic_name": "steering_wheel.horn",
366                         "bit_position": 56,
367                         "bit_size": 1,
368                         "factor": 1,
369                         "offset": 0,
370                         "decoder": "decoder_t::decode_boolean",
371                         "writable": false
372                 },
373                 "SW_LaneDepartureWarning": {
374                         "generic_name": "steering_wheel.lane_departure_warning",
375                         "bit_position": 63,
376                         "bit_size": 1,
377                         "factor": 1,
378                         "offset": 0,
379                         "decoder": "decoder_t::decode_boolean",
380                         "writable": false
381                 }
382         }
383         }
384 },
385 "diagnostic_messages": [
386                 {
387                         "bus": "hs",
388                         "pid": 4,
389                         "name": "engine.load",
390                         "frequency": 5,
391                         "decoder": "decoder_t::decode_obd2_response"
392                 },
393                 {
394                         "bus": "hs",
395                         "pid": 5,
396                         "name": "engine.coolant.temperature",
397                         "frequency": 1,
398                         "decoder": "decoder_t::decode_obd2_response"
399                 },
400                 {
401                         "bus": "hs",
402                         "pid": 10,
403                         "name": "fuel.pressure",
404                         "frequency": 1,
405                         "decoder": "decoder_t::decode_obd2_response"
406                 },
407                 {
408                         "bus": "hs",
409                         "pid": 11,
410                         "name": "intake.manifold.pressure",
411                         "frequency": 1,
412                         "decoder": "decoder_t::decode_obd2_response"
413                 },
414                 {
415                         "bus": "hs",
416                         "pid": 12,
417                         "name": "engine.speed",
418                         "frequency": 5,
419                         "decoder": "decoder_t::decode_obd2_response"
420                 },
421                 {
422                         "bus": "hs",
423                         "pid": 13,
424                         "name": "vehicle.speed",
425                         "frequency": 5,
426                         "decoder": "decoder_t::decode_obd2_response"
427                 },
428                 {
429                         "bus": "hs",
430                         "pid": 15,
431                         "name": "intake.air.temperature",
432                         "frequency": 1,
433                         "decoder": "decoder_t::decode_obd2_response"
434                 },
435                 {
436                         "bus": "hs",
437                         "pid": 16,
438                         "name": "mass.airflow",
439                         "frequency": 5,
440                         "decoder": "decoder_t::decode_obd2_response"
441                 },
442                 {
443                         "bus": "hs",
444                         "pid": 17,
445                         "name": "throttle.position",
446                         "frequency": 5,
447                         "decoder": "decoder_t::decode_obd2_response"
448                 },
449                 {
450                         "bus": "hs",
451                         "pid": 31,
452                         "name": "running.time",
453                         "frequency": 1,
454                         "decoder": "decoder_t::decode_obd2_response"
455                 },
456                 {
457                         "bus": "hs",
458                         "pid": 45,
459                         "name": "EGR.error",
460                         "frequency": 0,
461                         "decoder": "decoder_t::decode_obd2_response"
462                 },
463                 {
464                         "bus": "hs",
465                         "pid": 47,
466                         "name": "fuel.level",
467                         "frequency": 1,
468                         "decoder": "decoder_t::decode_obd2_response"
469                 },
470                 {
471                         "bus": "hs",
472                         "pid": 51,
473                         "name": "barometric.pressure",
474                         "frequency": 1,
475                         "decoder": "decoder_t::decode_obd2_response"
476                 },
477                 {
478                         "bus": "hs",
479                         "pid": 70,
480                         "name": "ambient.air.temperature",
481                         "frequency": 1,
482                         "decoder": "decoder_t::decode_obd2_response"
483                 },
484                 {
485                         "bus": "hs",
486                         "pid": 76,
487                         "name": "commanded.throttle.position",
488                         "frequency": 1,
489                         "decoder": "decoder_t::decode_obd2_response"
490                 },
491                 {
492                         "bus": "hs",
493                         "pid": 82,
494                         "name": "ethanol.fuel.percentage",
495                         "frequency": 1,
496                         "decoder": "decoder_t::decode_obd2_response"
497                 },
498                 {
499                         "bus": "hs",
500                         "pid": 90,
501                         "name": "accelerator.pedal.position",
502                         "frequency": 5,
503                         "decoder": "decoder_t::decode_obd2_response"
504                 },
505                 {
506                         "bus": "hs",
507                         "pid": 91,
508                         "name": "hybrid.battery-pack.remaining.life",
509                         "frequency": 5,
510                         "decoder": "decoder_t::decode_obd2_response"
511                 },
512                 {
513                         "bus": "hs",
514                         "pid": 92,
515                         "name": "engine.oil.temperature",
516                         "frequency": 1,
517                         "decoder": "decoder_t::decode_obd2_response"
518                 },
519                 {
520                         "bus": "hs",
521                         "pid": 94,
522                         "name": "engine.fuel.rate",
523                         "frequency": 1,
524                         "decoder": "decoder_t::decode_obd2_response"
525                 },
526                 {
527                         "bus": "hs",
528                         "pid": 99,
529                         "name": "engine.torque",
530                         "frequency": 1,
531                         "decoder": "decoder_t::decode_obd2_response"
532                 }
533         ]
534 }