forked from w3c/automotive-bg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata_spec.html
executable file
·1818 lines (1589 loc) · 79.1 KB
/
data_spec.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<title>Vehicle Data</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src='https://www.w3.org/Tools/respec/respec-w3c-common'
class='remove'></script>
<script class="remove">
var respecConfig = {
specStatus: "BG-DRAFT",
shortName: "vehicle-data",
publishDate: "",
previousPublishDate: "2014-11-24",
previousMaturity: "BG-FINAL",
edDraftURI: "",
// lcEnd: "",
crEnd: "",
editors: [
{ name: "Kevron Rees", company: "Intel",
companyURL: "http://www.intel.com" },
{ name: "Justin (Jong Seon) Park", company: "LG Electronics",
companyURL: "http://www.lg.com"}
],
inlineCSS: true,
noIDLIn: true,
wg: "Automotive and Web Platform Business Group",
wgURI: "http://www.w3.org/community/autowebplatform/",
wgPublicList: "public-autowebplatform",
wgPatentURI: "",
localBiblio: {
"VIN": {
title: "Vehicle Identificaiton Number"
, href: "http://en.wikipedia.org/wiki/Vehicle_Identification_Number#World_Manufacturer_Identifier"
, publisher: "Wikipedia"
}
}
};
</script>
</head>
<body>
<!------------------------------ Abstract ------------------------------------>
<section id="abstract">
<p>
This specification defines a standard for Vehicle Data which might be available in a vehicle. It is designed to be used in conjunction with the <a href="vehicle_spec.html">Vehicle API Specification</a>.
</section>
<!----------------------- Status of this document ---------------------------->
<section id="sotd">
</section>
<!----------------------------- Introduction --------------------------------->
<section class="informative">
<h2>Introduction</h2>
<p>Each data type is accessed through a <a href="vehicle_spec.html#vehicleinterface-interface">VehicleInterface</a> attribute available on the <a href="vehicle_spec.html#vehicle-interface">navigator.vehicle</a> object. The attribute name corresponds with the Vehicle Type. For example, the attribute <a href="#widl-Vehicle-vehicleSpeed">"vehicle.vehicleSpeed"</a> is the interface to the data type <a href="#vehiclespeed-interface">"VehicleSpeed"</a>.</p>
</section>
<!---------------------------- Conformance ----------------------------------->
<section id="conformance">
<p>This specification defines conformance criteria that apply to a single
product: the <dfn>user agent</dfn> that implements the interfaces that it
contains.</p>
<p>Implementations that use ECMAScript to implement the APIs defined in this
specification MUST implement them in a manner consistent with the ECMAScript
Bindings defined in the Web IDL specification [[!WEBIDL]], as this
specification uses that specification and terminology.</p>
</section>
<!---------------------------- Extending this API ----------------------------------->
<section id="Extending">
<h3>Extending the Vehicle Data API</h3>
<p>This specification anticipates that implementors may desire to extend this API and
define new data types that this specification does not define. This section provides some
general guidlines on how extending the API should be done.</p>
<p>All new data types must have two parts: a <a href="vehicle_spec.html#vehicleinterface-interface">VehicleInterface</a>
attributed on the navigator.vehicle object and an interface definition that defines the
data type. The following example describes how one would extend the specification to add
a "whizzer" data feature.</p>
<pre class="example highlight">
partial interface Vehicle {
readonly attribute VehicleSignalInterface whizzer; /// returns an interface to the Whizzer type
}
interface Whizzer {
readonly attribute boolean isWhizzing;
}
</pre>
<section id="Extending Existing Data Types">
<h3>Extending Existing Data Types</h3>
<p>There may also be attributes of a data type interface that an implementor may wish to extend.
The general guideline here is to add attributes to interfaces that are logically related. For
example, lets say an implementor wishes to add support for a new type of light. The implementor
would extend the already existing Light interface and add the attribute there.
</p>
<pre class="example highlight">
partial interface Light {
attribute boolean superBeam;
}
</pre>
</section>
<section id="Mapping vs Extending">
<h3>Mapping vs. Extending</h3>
<p>Because vehicle data may be different in a system than what is defined in the specication, it is
preferable to perform post-processing to translate and map the system data to the defined type. It
is NOT preferable to create a new type if one has already been defined by this specification.
</p>
</section>
</section>
<!----------------------------- Terminology ---------------------------------->
<!--
<section id="terminology">
<h2>Terminology</h2>
</section>
-->
<!------------------------ Interface VehicleCommonDataType ------------------------>
<section>
<h3><a>VehicleCommonDataType</a> Interface</h3> <p>The <a>VehicleCommonDataType</a>
interface represents the common data type for all vehicle data types</p>
<dl title="interface VehicleCommonDataType" class="idl">
<dt>readonly attribute DOMTimeStamp? timeStamp</dt>
<dd>MUST return timestamp when any data in this interface was received on the system.</dd>
</dl>
</section>
<!---------------- Vehicle Configuration & ID Interfaces --------------------->
<section id="configuration-identification-interfaces">
<h2>Configuration and Identification Interfaces</h2>
<p>Interfaces relating to vehicle configuration and identification including: make, type size, transmission
configuration, identification numbers, etc...</p>
<dl title="partial interface Vehicle" class="idl">
<!-- identification and configuration types: -->
<dt>readonly attribute VehicleConfigurationInterface identification</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>Identification</a></dd>
<dt>readonly attribute VehicleConfigurationInterface sizeConfiguration</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>SizeConfiguration</a></dd>
<dt>readonly attribute VehicleConfigurationInterface fuelConfiguration</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>FuelConfiguration</a></dd>
<dt>readonly attribute VehicleConfigurationInterface transmissionConfiguration</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>TransmissionConfiguration</a></dd>
<dt>readonly attribute VehicleConfigurationInterface wheelConfiguration</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>WheelConfiguration</a></dd>
<dt>readonly attribute VehicleSignalInterface steeringWheelConfiguration</dt>
<dd>MUST return VehicleConfigurationInterface for accessing <a>SteeringWheelConfiguration</a></dd>
</dl>
<!------------------------ Interface Identification ------------------------------>
<section>
<h3><a>Identification</a> Interface</h3>
<p>The <a>Identification</a> interface provides identification information about a
vehicle.
<dl title="enum VehicleTypeEnum" class="idl">
<dt>passengerCarMini</dt>
<dd>Passenger car 680–907 kg</dd>
<dt>passengerCarLight</dt>
<dd>Passenger car 907–1,134 kg</dd>
<dt>passengerCarCompact</dt>
<dd>Passenger car 1,134–1,360 kg</dd>
<dt>passengerCarMedium</dt>
<dd>Passenger car 1,361–1,587 kg</dd>
<dt>passengerCarHeavy</dt>
<dd>Passenger car 1,588 kg and over</dd>
<dt>sportUtilityVehicle</dt>
<dd>Sport utility vehicle</dd>
<dt>pickupTruck</dt>
<dd>Pickup truck</dd>
<dt>van</dt>
<dd>Van</dd>
</dl>
<dl title="interface Identification : VehicleCommonDataType" class="idl">
<dt>readonly attribute DOMString? VIN</dt>
<dd>MUST return the Vehicle Identification Number (ISO 3833)</dd>
<dt>readonly attribute DOMString? WMI</dt>
<dd>MUST return the World Manufacture Identifier defined by SAE ISO 3780:2009. 3 characters.</dd>
<dt>readonly attribute VehicleTypeEnum? vehicleType</dt>
<dd>MUST return vehicle type</dd>
<dt>readonly attribute DOMString? brand</dt>
<dd>MUST return vehicle brand name</dd>
<dt>readonly attribute DOMString? model</dt>
<dd>MUST return vehicle model</dd>
<dt>readonly attribute unsigned short? year</dt>
<dd>MUST return vehicle model year</dd>
</dl>
</section>
<!------------------------ Interface Size Configuration --------------------------->
<section>
<h3><a>SizeConfiguration</a> Interface</h3>
<p>The <a>SizeConfiguration</a> interface provides size and shape information about a
vehicle as a whole.</p>
<dl title="interface SizeConfiguration : VehicleCommonDataType" class="idl">
<dt>readonly attribute unsigned short? width</dt>
<dd>MUST return widest dimension of the vehicle (not including the side mirrors) (Unit: millimeters
Note: Number may be an approximation, and should not be expected to be exact.)</dd>
<dt>readonly attribute unsigned short? height</dt>
<dd>MUST return distance from the ground to the highest point of the vehicle (not including antennas)
(Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)</dd>
<dt>readonly attribute unsigned short? length</dt>
<dd>MUST return distance from front bumper to rear bumper
(Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)</dd>
<dt>readonly attribute unsigned short[]? doorsCount</dt>
<dd>MUST return list of car doors, organized in "rows" with number doors in each row.(Per Row -
Min: 0, Max: 3)
</dd>
<dt>readonly attribute unsigned short? totalDoors</dt>
<dd>MUST return total number of doors on the vehicle (all doors opening to the interior,
including hatchbacks) (Min: 0, Max: 10)</dd>
</dd>
</dl>
</section>
<!-------------------- Interface Fuel Configuration --------------------------->
<section>
<h3><a>FuelConfiguration</a> Interface</h3>
<p>The <a>FuelConfiguration</a> interface provides information about the fuel
configuration of a vehicle.</p>
<dl title="enum FuelTypeEnum" class="idl">
<dt>gasoline</dt>
<dd>Gasoline</dd>
<dt>methanol</dt>
<dd>Methanol</dd>
<dt>ethanol</dt>
<dd>Ethanol</dd>
<dt>diesel</dt>
<dd>Diesel</dd>
<dt>lpg</dt>
<dd>Liquified petroleom gas</dd>
<dt>cng</dt>
<dd>Compressed natural gas</dd>
<dt>electric</dt>
<dd>Electric</dd>
</dl>
<dl title="interface FuelConfiguration : VehicleCommonDataType" class="idl">
<dt>readonly attribute FuelTypeEnum[]? fuelType</dt>
<dd>MUST return type of fuel used by vehicle. If the vehicle uses multiple fuels, fuelType returns an array of fuel types.</dd>
<dt>readonly attribute Zone? refuelPosition</dt>
<dd>MUST return location on the vehicle with access to the fuel door</dd>
</dl>
</section>
<!----------------- Interface Transmission Configuration ------------------->
<section>
<h3><a>TransmissionConfiguration</a> Interface</h3>
<p>The <a>TransmissionConfiguration</a> interface provides transmission configuration
information information about a vehicle.</p>
<dl title="enum TransmissionGearTypeEnum" class="idl">
<dt>auto</dt>
<dd>Automatic transmission</dd>
<dt>manual</dt>
<dd>Manual transmission</dd>
</dl>
<dl title="interface TransmissionConfiguration : VehicleCommonDataType" class="idl">
<dt>readonly attribute TransmissionGearTypeEnum? transmissionGearType</dt>
<dd>MUST return transmission gear type</dd>
</dl>
</section>
<!------------------------ Interface Wheel Configuration ------------------------>
<section>
<h3><a>WheelConfiguration</a> Interface</h3>
<p>The <a>WheelConfiguration</a> interface provides wheel configuration information
about a vehicle.</p>
<dl title="interface WheelConfiguration : VehicleCommonDataType" class="idl">
<dt>readonly attribute unsigned short? wheelRadius</dt>
<dd>MUST return radius of the front wheel (Unit: millimeters)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------ Interface Steering Wheel Configuration --------------------->
<section>
<h3><a>SteeringWheelConfiguration</a> Interface</h3>
<p>The <a>SteeringWheelConfiguration</a> interface provides steering wheel configuration
information information about a vehicle.</p>
<dl title="interface SteeringWheelConfiguration : VehicleCommonDataType" class="idl">
<dt>readonly attribute boolean? steeringWheelLeft</dt>
<dd>MUST return true if steering wheel is on left side of vehicle</dd>
<dt>attribute unsigned short? steeringWheelTelescopingPosition</dt>
<dd>MUST return steering wheel position as percentage of extension from the dash
(Unit: percentage, 0%:closest to dash, 100%:farthest from dash)
</dd>
<dt>attribute unsigned short? steeringWheelPositionTilt</dt>
<dd>MUST return steering wheel position as percentage of tilt
(Unit: percentage, 0%:tilted lowest downward-facing position, 100%:highest upward-facing position)
</dd>
</dl>
</section>
</section>
<!--------------- End of Vehicle Configuration & ID Interfaces ---------------->
<!----------------------------------------------------------------------------->
<!----------------------------------------------------------------------------->
<!---------------------- Running Status Interfaces ---------------------------->
<section id="runningstatus-interfaces">
<h2>Running Status Interfaces</h2>
<p>Interfaces relating to the running/operation of a vehicle including: speed, temperatures, acceleration,
etc...</p>
<dl title="partial interface Vehicle" class="idl">
<!-- running status types: -->
<dt>readonly attribute VehicleSignalInterface vehicleSpeed</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>VehicleSpeed</a></dd>
<dt>readonly attribute VehicleSignalInterface wheelSpeed</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>WheelSpeed</a></dd>
<dt>readonly attribute VehicleSignalInterface engineSpeed</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>EngineSpeed</a> or undefined if not supported</dd>
<dt>readonly attribute VehicleSignalInterface powertrainTorque</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>PowertrainTorque</a></dd>
<dt>readonly attribute VehicleSignalInterface acceleratorPedalPosition</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>AcceleratorPedalPosition</a></dd>
<dt>readonly attribute VehicleSignalInterface throttlePosition</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>ThrottlePosition</a></dd>
<dt>readonly attribute VehicleSignalInterface tripMeters</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>TripMeters</a></dd>
<dt>readonly attribute VehicleSignalInterface transmission</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Transmission</a></dd>
<dt>readonly attribute VehicleSignalInterface cruiseControlStatus</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>CruiseControlStatus</a></dd>
<dt>readonly attribute VehicleSignalInterface lightStatus</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>LightStatus</a></dd>
<dt>readonly attribute VehicleSignalInterface interiorLightStatus</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>InteriorLightStatus</a></dd>
<dt>readonly attribute VehicleSignalInterface horn</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Horn</a></dd>
<dt>readonly attribute VehicleSignalInterface chime</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Chime</a></dd>
<dt>readonly attribute VehicleSignalInterface fuel</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Fuel</a></dd>
<dt>readonly attribute VehicleSignalInterface engineOil</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>EngineOil</a></dd>
<dt>readonly attribute VehicleSignalInterface acceleration</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Acceleration</a></dd>
<dt>readonly attribute VehicleSignalInterface engineCoolant</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>EngineCoolant</a></dd>
<dt>readonly attribute VehicleSignalInterface steeringWheel</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>SteeringWheel</a></dd>
<dt>readonly attribute VehicleSignalInterface ignitionTime</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>IgnitionTime</a></dd>
<dt>readonly attribute VehicleSignalInterface yawRate</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>YawRate</a></dd>
<dt>readonly attribute VehicleSignalInterface brakeOperation</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>BrakeOperation</a></dd>
<dt>readonly attribute VehicleSignalInterface wheelTick</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>WheelTick</a></dd>
<dt>readonly attribute VehicleSignalInterface buttonEvent</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>ButtonEvent</a></dd>
<dt>readonly attribute VehicleSignalInterface drivingMode</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>DrivingMode</a></dd>
<dt>readonly attribute VehicleSignalInterface nightMode</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>NightMode</a></dd>
</dl>
<!------------------------ Interface VehicleSpeed ------------------------>
<section>
<h3><a>VehicleSpeed</a> Interface</h3>
<p>The <a>VehicleSpeed</a> interface represents vehicle speed information</p>
<dl title="interface VehicleSpeed : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned short speed</dt>
<dd>MUST return vehicle speed (Unit: meters per hour)</dd>
</dl>
</section>
<!------------------------ Interface WheelSpeed ------------------------>
<section>
<h3><a>WheelSpeed</a> Interface</h3>
<p>The <a>WheelSpeed</a> interface represents wheel speed information.</p>
<dl title="interface WheelSpeed : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned short speed</dt>
<dd>MUST return wheel speed (Unit: meters per hour)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface EngineSpeed ------------------------>
<section>
<h3><a>EngineSpeed</a> Interface</h3>
<p>The <a>EngineSpeed</a> interface represents engine speed information.</p>
<dl title="interface EngineSpeed : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned long speed</dt>
<dd>MUST return engine speed (Unit: rotations per minute)</dd>
</dl>
</section>
<!------------------------ Interface VehiclePowerModeType ------------------------>
<section>
<h3><a>VehiclePowerModeType</a> Interface</h3>
<p>The <a>VehiclePowerModeType</a> interface represents position of the ignition switch.</p>
<dl title="enum VehiclePowerMode"
class="idl">
<dt>off</dt>
<dd>Off - No power</dd>
<dt>accessory1</dt>
<dd>Accessory power 1</dd>
<dt>accessory2</dt>
<dd>Accessory power 2</dd>
<dt>running</dt>
<dd>Running power</dd>
</dl>
<dl title="interface VehiclePowerModeType : VehicleCommonDataType"
class="idl">
<dt>readonly attribute VehiclePowerMode value</dt>
<dd>MUST return position of the ignition switch</dd>
</dl>
</section>
<!------------------------ Interface PowertrainTorque ------------------------>
<section>
<h3><a>PowertrainTorque</a> Interface</h3>
<p>The <a>PowertrainTorque</a> interface represents powertrain torque.</p>
<dl title="interface PowertrainTorque : VehicleCommonDataType"
class="idl">
<dt>readonly attribute short value</dt>
<dd>MUST return powertrain torque (Unit: newton meters)</dd>
</dl>
</section>
<!------------------------ Interface AcceleratorPedalPosition ------------------------>
<section>
<h3><a>AcceleratorPedalPosition</a> Interface</h3> <p>The <a>AcceleratorPedalPosition</a>
interface represents the accelerator pedal position.</p>
<dl title="interface AcceleratorPedalPosition : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned short value</dt>
<dd>MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)</dd>
</dl>
</section>
<!------------------------ Interface ThrottlePosition ------------------------>
<section>
<h3><a>ThrottlePosition</a> Interface</h3> <p>The <a>ThrottlePosition</a>
represents position of the throttle.</p>
<dl title="interface ThrottlePosition : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned short value</dt>
<dd>MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)</dd>
</dl>
</section>
<!------------------------ Interface TripMeters ------------------------>
<section>
<h3><a>Trip</a> Interface</h3> <p>The <a>Trip</a> interface
represents trip meter.</p>
<dl title="interface Trip"
class="idl">
<dt>readonly attribute unsigned long distance</dt>
<dd>MUST return distance travelled based on trip meter (Unit: meters)</dd>
<dt>readonly attribute unsigned short? averageSpeed</dt>
<dd>MUST return average speed based on trip meter (Unit: kilometers per hour)</dd>
<dt>readonly attribute unsigned short? fuelConsumption</dt>
<dd>MUST return fuel consumed based on trip meter (Unit: milliliters per 100 kilometers)</dd>
</dl>
<dl title="interface TripMeters : VehicleCommonDataType" class="idl">
<dt>readonly attribute Trip[] meters;
<dd>MUST return trip meters</dd>
</dl>
</section>
<!------------------------ Interface Transmission ------------------------------>
<section>
<h3><a>Transmission</a> Interface</h3>
<p>The <a>Transmission</a> interface represents the current transmission gear and mode.
<dl title="enum TransmissionMode"
class="idl">
<dt>park</dt>
<dd>Transmission is in park</dd>
<dt>reverse</dt>
<dd>Transmission is in reverse</dd>
<dt>neutral</dt>
<dd>Transmission is in neutral</dd>
<dt>low</dt>
<dd>Transmission is in low</dd>
<dt>drive</dt>
<dd>Transmission is in drive</dd>
<dt>overdrive</dt>
<dd>Transmission is in overdrive</dd>
</dl>
<dl title="interface Transmission : VehicleCommonDataType" class="idl">
<dt>readonly attribute octet? gear</dt>
<dd>MUST return transmission gear position. Range 0 - 10</dd>
<dt>readonly attribute TransmissionMode? mode</dt>
<dd>MUST return transmission Mode (see <a>TransmissionMode</a>)</dd>
</dl>
</section>
<!------------------------ Interface CruiseControlStatus ------------------------------>
<section>
<h3><a>CruiseControlStatus</a> Interface</h3>
<p>The <a>CruiseControlStatus</a> interface represents cruise control settings.
<dl title="interface CruiseControlStatus : VehicleCommonDataType" class="idl">
<dt>readonly attribute boolean status</dt>
<dd>MUST return whether or not the Cruise Control system is on (true) or off (false)</dd>
<dt>readonly attribute unsigned short speed</dt>
<dd>MUST return target Cruise Control speed in kilometers per hour (Unit: kilometers per hour)</dd>
</dl>
</section>
<!------------------------ Interface LightStatus ------------------------------>
<section>
<h3><a>LightStatus</a> Interface</h3>
<p>The <a>LightStatus</a> interface represents exterior light statuses.
<dl title="interface LightStatus : VehicleCommonDataType" class="idl">
<dt>attribute boolean head</dt>
<dd>MUST return headlight status: on (true), off (false)</dd>
<dt>attribute boolean rightTurn</dt>
<dd>MUST return right turn signal status: on (true), off (false)</dd>
<dt>attribute boolean leftTurn</dt>
<dd>MUST return left turn signal status: on (true), off (false)</dd>
<dt>attribute boolean brake</dt>
<dd>MUST return Brake light status: on (true), off (false)</dd>
<dt>attribute boolean? fog</dt>
<dd>MUST return Fog light status: on (true), off (false)</dd>
<dt>attribute boolean hazard</dt>
<dd>MUST return Hazard light status: on (true), off (false)</dd>
<dt>attribute boolean parking</dt>
<dd>MUST return Parking light status: on (true), off (false)</dd>
<dt>attribute boolean highBeam</dt>
<dd>MUST return HighBeam light status: on (true), off (false)</dd>
<dt>attribute boolean? automaticHeadlights</dt>
<dd>MUST return whether automatic head lights status: activated (true) or not (false)</dd>
<dt>attribute boolean? dynamicHighBeam</dt>
<dd>MUST return whether dynamic high beam status: activated (true) or not (false)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface InteriorLightStatus ------------------------------>
<section>
<h3><a>InteriorLightStatus</a> Interface</h3>
<p>The <a>InteriorLightStatus</a> interface represents interior light status.
<dl title="interface InteriorLightStatus : VehicleCommonDataType" class="idl">
<dt>attribute boolean status</dt>
<dd> MUST return interior light status for the given zone: on (true), off (false)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface Horn ------------------------------>
<section>
<h3><a>Horn</a> Interface</h3>
<p>The <a>Horn</a> interface represents horn status.
<dl title="interface Horn : VehicleCommonDataType" class="idl">
<dt>attribute boolean status</dt>
<dd>MUST return Horn status: on (true) or off (false)</dd>
</dl>
</section>
<!------------------------ Interface Chime ------------------------------>
<section>
<h3><a>Chime</a> Interface</h3>
<p>The <a>Chime</a> interface represents chime status.
<dl title="interface Chime : VehicleCommonDataType" class="idl">
<dt>readonly attribute boolean status</dt>
<dd>MUST return Chime status when a door is open: on (true) or off (false)</dd>
</dl>
</section>
<!------------------------ Interface Fuel ------------------------------>
<section>
<h3><a>Fuel</a> Interface</h3>
<p>The <a>Fuel</a> interface represents vehicle fuel status.
<dl title="interface Fuel : VehicleCommonDataType" class="idl">
<dt>readonly attribute unsigned short? level</dt>
<dd>MUST return fuel level as a percentage of fullness</dd>
<dt>readonly attribute unsigned long? range</dt>
<dd>MUST return estimated fuel range (Unit: meters)</dd>
<dt>readonly attribute unsigned long? instantConsumption</dt>
<dd>MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers)</dd>
<dt>attribute unsigned long? averageConsumption</dt>
<dd>MUST return average fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers). Setting this to any value should reset the counter to '0'</dd>
<dt>readonly attribute unsigned long? fuelConsumedSinceRestart</dt>
<dd>MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart</dd>
<dt>readonly attribute unsigned long? timeSinceRestart</dt>
<dd>MUST return time elapsed since vehicle restart (Unit: seconds)</dd>
</dl>
</section>
<!------------------------ Interface EngineOil ------------------------------>
<section>
<h3><a>EngineOil</a> Interface</h3>
<p>The <a>EngineOil</a> interface represents engine oil status.
<dl title="interface EngineOil : VehicleCommonDataType" class="idl">
<dt>readonly attribute unsigned short level</dt>
<dd>MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full</dd>
<dt>readonly attribute unsigned short lifeRemaining</dt>
<dd>MUST return remaining engine oil life (Unit: percentage, 0%:no life remaining, 100%: full life remaining</dd>
<dt>readonly attribute long temperature</dt>
<dd>MUST return Engine Oil Temperature (Unit: celcius)</dd>
<dt>readonly attribute unsigned short pressure</dt>
<dd>MUST return Engine Oil Pressure (Unit: kilopascals)</dd>
<dt>readonly attribute boolean change</dt>
<dd>MUST return engine oil change indicator status: change oil (true) or no change (false)</dd>
</dl>
</section>
<!------------------------ Interface Acceleration ------------------------------>
<section>
<h3><a>Acceleration</a> Interface</h3>
<p>The <a>Acceleration</a> interface represents vehicle acceleration.
<dl title="interface Acceleration : VehicleCommonDataType" class="idl">
<dt>readonly attribute long x</dt>
<dd>MUST return acceleration on the "X" axis (Unit: centimeters per second squared)</dd>
<dt>readonly attribute long y</dt>
<dd>MUST return acceleration on the "Y" axis (Unit: centimeters per second squared)</dd>
<dt>readonly attribute long z</dt>
<dd>MUST return acceleration on the "Z" axis (Unit: centimeters per second squared)</dd>
</dl>
</section>
<!------------------------ Interface EngineCoolant ------------------------>
<section>
<h3><a>EngineCoolant</a> Interface</h3> <p>The <a>EngineCoolant</a>
represents values related to engine coolant.</p>
<dl title="interface EngineCoolant : VehicleCommonDataType"
class="idl">
<dt>readonly attribute octet level</dt>
<dd>MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)</dd>
<dt>readonly attribute short temperature</dt>
<dd>MUST return engine coolant temperature (Unit: celcius)</dd>
</dl>
</section>
<!------------------------ Interface SteeringWheel ------------------------>
<section>
<h3><a>SteeringWheel</a> Interface</h3> <p>The <a>SteeringWheel</a>
represents steering wheel data.</p>
<dl title="interface SteeringWheel : VehicleCommonDataType"
class="idl">
<dt>readonly attribute short angle</dt>
<dd>MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)</dd>
</dl>
</section>
<!------------------------ Interface WheelTick ------------------------>
<section>
<h3><a>WheelTick</a> Interface</h3> <p>The <a>WheelTick</a>
number of ticks per second.</p>
<dl title="interface WheelTick : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned long value</dt>
<dd>MUST return number of ticks per second (Unit: ticks per second)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface IgnitionTime ------------------------>
<section>
<h3><a>IgnitionTime</a> Interface</h3> <p>The <a>IgnitionTime</a>
represents status of ignition.</p>
<dl title="interface IgnitionTime : VehicleCommonDataType"
class="idl">
<dt>readonly attribute DOMTimeStamp ignitionOnTime</dt>
<dd>MUST return time at ignition on</dd>
<dt>readonly attribute DOMTimeStamp ignitionOffTime</dt>
<dd>MUST return time at ignition off</dd>
</dl>
</section>
<!------------------------ Interface YawRate ------------------------>
<section>
<h3><a>YawRate</a> Interface</h3> <p>The <a>YawRate</a>
represents vehicle yaw rate.</p>
<dl title="interface YawRate : VehicleCommonDataType"
class="idl">
<dt>readonly attribute short value</dt>
<dd>MUST return yaw rate of vehicle. (Unit: degrees per second)</dd>
</dl>
</section>
<!------------------------ Interface BrakeOperation ------------------------>
<section>
<h3><a>BrakeOperation</a> Interface</h3> <p>The <a>BrakeOperation</a>
represents vehicle brake operation.</p>
<dl title="interface BrakeOperation : VehicleCommonDataType"
class="idl">
<dt>readonly attribute boolean brakePedalDepressed</dt>
<dd>MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed</dd>
</dl>
</section>
<!------------------------ Interface ButtonEvent ------------------------>
<section>
<h3><a>ButtonEvent</a> Interface</h3> <p>The <a>ButtonEvent</a>
represents button press events from the steering wheel or other source</p>
<dl title="enum Button"
class="idl">
<dt>home</dt>
<dd></dd>
<dt>back</dt>
<dd></dd>
<dt>search</dt>
<dd></dd>
<dt>call</dt>
<dd></dd>
<dt>end_call</dt>
<dd></dd>
<dt>media_play</dt>
<dd></dd>
<dt>media_next</dt>
<dd></dd>
<dt>media_previous</dt>
<dd></dd>
<dt>media_pause</dt>
<dd></dd>
<dt>voice_recognize</dt>
<dd></dd>
<dt>enter</dt>
<dd></dd>
<dt>left</dt>
<dd></dd>
<dt>right</dt>
<dd></dd>
<dt>up</dt>
<dd></dd>
<dt>down</dt>
<dd></dd>
</dl>
<dl title="enum ButtonEventType"
class="idl">
<dt>press</dt>
<dd></dd>
<dt>long_press</dt>
<dd></dd>
<dt>release</dt>
<dd></dd>
</dl>
<dl title="interface VehicleButton" class="idl">
<dt>readonly attribute Button button</dt>
<dd>MUST return the button corresponding to the event.</dd>
<dt>readonly attribute ButtonEventType state</dt>
<dd>MUST return the type of event</dd>
</dl>
<dl title="interface ButtonEvent : VehicleCommonDataType"
class="idl">
<dt>readonly attribute VehicleButton[] button</dt>
<dd>MUST return the button events that occured. This supports multiple simultanious button events.</dd>
</dl>
</section>
<!------------------------ Interface DrivingMode ------------------------------>
<section>
<h3><a>DrivingMode</a> Interface</h3>
<p>The <a>DrivingMode</a> interface provides information about whether or not the vehicle is driving. DrivingMode is an abstract data type that may
combine several other data types such as vehicle speed, transmission gear, etc. Typical usage would be to disable certain functions in the application
if the vehicle is not safe to operate those functions to avoid driver distraction.</p>
<dl title="interface DrivingMode : VehicleCommonDataType" class="idl">
<dt>readonly attribute boolean mode</dt>
<dd>MUST return true if vehicle is in driving mode</dd>
</dl>
</section>
<!------------------------ Interface NightMode ------------------------------>
<section>
<h3><a>NightMode</a> Interface</h3>
<p>The <a>NightMode</a> interface provides information about whether or not it is night time. NightMode is an abstract data type that may
combine several other data types such as exterior brightness, time of day, sunrise/sunset, etc to determine whether or not it is night time.
Typical usage is to change the UI theme to a darker theme during the night.</p>
<dl title="interface NightMode : VehicleCommonDataType" class="idl">
<dt>readonly attribute boolean mode</dt>
<dd>MUST return true if it is night time</dd>
</dl>
</section>
</section>
<!------------------- End of Running Status Interfaces ---------------------->
<!--------------------------------------------------------------------------->
<!--------------------------------------------------------------------------->
<!---------------------- Maintenance Interfaces ----------------------------->
<section id="maintenance-interfaces">
<h2>Maintenance Interfaces</h2>
<p>Interfaces relating to vehicle maintenance, the act of inspecting or testing the condition of vehicle
subsystems (e.g., engine) and servicing or replacing parts and fluids.</p>
<dl title="partial interface Vehicle" class="idl">
<!-- maintenance types: -->
<dt>readonly attribute VehicleSignalInterface odometer</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Odometer</a> or undefined if not supported</dd>
<dt>readonly attribute VehicleSignalInterface transmissionOil</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>TransmissionOil</a></dd>
<dt>readonly attribute VehicleSignalInterface transmissionClutch</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>TransmissionClutch</a></dd>
<dt>readonly attribute VehicleSignalInterface brakeMaintenance</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>BrakeMaintenance</a></dd>
<dt>readonly attribute VehicleSignalInterface washerFluid</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>WasherFluid</a></dd>
<dt>readonly attribute VehicleSignalInterface malfunctionIndicator</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>MalfunctionIndicator</a></dd>
<dt>readonly attribute VehicleSignalInterface batteryStatus</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>BatteryStatus</a></dd>
<dt>readonly attribute VehicleSignalInterface tire</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Tire</a></dd>
<dt>readonly attribute VehicleSignalInterface diagnostic</dt>
<dd>MUST return VehicleSignalInterface for accessing <a>Diagnostic</a></dd>
</dl>
<!------------------------ Interface Odometer ------------------------------>
<section>
<h3><a>Odometer</a> Interface</h3>
<p>The <a>Odometer</a> interface provides information about the distance that the
vehicle has traveled.
<dl title="interface Odometer : VehicleCommonDataType" class="idl">
<dt>readonly attribute unsigned long? distanceSinceStart</dt>
<dd>MUST return the distance traveled by vehicle since start (Unit: meters).</dd>
<dt>readonly attribute unsigned long distanceTotal</dt>
<dd>MUST return the total distance traveled by the vehicle (Unit: meters).</dd>
</dl>
</section>
<!------------------------ Interface Transmission Oil ------------------------------>
<section>
<h3><a>TransmissionOil</a> Interface</h3>
<p>The <a>TransmissionOil</a> interface provides information about the state of a
vehicles transmission oil.
<dl title="interface TransmissionOil : VehicleCommonDataType"
class="idl">
<dt>readonly attribute octet? wear</dt>
<dd>MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).</dd>
<dt>readonly attribute byte? temperature</dt>
<dd>MUST return current temperature of the transmission oil(Unit: celsius).</dd>
</dl>
</section>
<!------------------------ Interface Transmission Clutch ------------------------------>
<section>
<h3><a>TransmissionClutch</a> Interface</h3>
<p>The <a>TransmissionClutch</a> interface provides information about the state of a
vehicles transmission clutch.
<dl title="interface TransmissionClutch : VehicleCommonDataType"
class="idl">
<dt>readonly attribute octet wear</dt>
<dd>MUST return transmission clutch wear (Unit: percentage, 0%: no wear, 100%: completely worn).</dd>
</dl>
</section>
<!------------------------ Interface BrakeMaintenance ------------------------------>
<section>
<h3><a>BrakeMaintenance</a> Interface</h3>
<p>The <a>BrakeMaintenance</a> interface provides information about the maintenance state of a
vehicles brakes.
<dl title="interface BrakeMaintenance : VehicleCommonDataType"
class="idl">
<dt>readonly attribute octet? fluidLevel</dt>
<dd>MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).</dd>
<dt>readonly attribute boolean? fluidLevelLow</dt>
<dd>MUST return true if brake fluid level: low (true), not low (false)</dd>
<dt>readonly attribute octet? padWear</dt>
<dd>MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).</dd>
<dt>readonly attribute boolean? brakesWorn</dt>
<dd>MUST return true if brakes are worn: worn (true), not worn (false)</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface Washer Fluid ------------------------------>
<section>
<h3><a>WasherFluid</a> Interface</h3>
<p>The <a>WasherFluid</a> interface provides information about the state of a
vehicles washer fluid.
<dl title="interface WasherFluid : VehicleCommonDataType"
class="idl">
<dt>readonly attribute unsigned short? level</dt>
<dd>MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).</dd>
<dt>readonly attribute boolean? levelLow</dt>
<dd>MUST return true if washer fluid level is low: low (true), not low: (false)</dd>
</dl>
</section>
<!------------------------ Interface Malfunction Indicator ------------------------------>
<section>
<h3><a>MalfunctionIndicator</a> Interface</h3>
<p>The <a>MalfunctionIndicator</a> interface provides information about the state of a
vehicles Malfunction Indicator lamp.
<dl title="interface MalfunctionIndicator : VehicleCommonDataType"
class="idl">
<dt>readonly attribute boolean on</dt>
<dd>MUST return true if malfunction indicator lamp is on: lamp on (true), lamp not on (false)</dd>
</dl>
</section>
<!------------------------ Interface Battery Status ------------------------------>
<section>
<h3><a>BatteryStatus</a> Interface</h3>
<p>The <a>BatteryStatus</a> interface provides information about the state of a
vehicles battery.
<dl title="interface BatteryStatus : VehicleCommonDataType"
class="idl">
<dt>readonly attribute octet? chargeLevel</dt>
<dd>MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).</dd>
<dt>readonly attribute unsigned short? voltage</dt>
<dd>MUST return battery voltage (Unit: volts).</dd>
<dt>readonly attribute unsigned short? current</dt>
<dd>MUST return battery current (Unit: amperes).</dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>
<!------------------------ Interface Tire ------------------------------>
<section>
<h3><a>Tire</a> Interface</h3>
<p>The <a>Tire</a> interface provides information about the state of a
vehicles tires.
<dl title="interface Tire : VehicleCommonDataType"
class="idl">
<dt>readonly attribute boolean? pressureLow</dt>
<dd>MUST return true if any tire pressure is low: pressure low (true), pressure not low (false)</dd>
<dt>readonly attribute unsigned short? pressure</dt>
<dd>MUST return tire pressure (Unit: kilopascal).</dd>
<dt>readonly attribute short? temperature</dt>
<dd>MUST return tire temperature (Unit: celsius). </dd>
<dt>readonly attribute Zone? zone</dt>
<dd>MUST return Zone for requested attribute</dd>
</dl>
</section>