- Proposal: SDL-0255
- Author: Ankur Tiwari
- Status: Accepted with Revisions
- Impacted Platforms: [Core | HMI | iOS | Java Suite | RPC]
This proposal is to enhance BodyInformation
with more params to get access to more door related signals.
In order to partner with more diverse app partners, we need to provide additional sets of vehicle data items through SDL. This goes in line with commitment to enhance SDL with even richer vehicle data content. We need to provide apps with doors' lock status, roof status and status for trunk/liftgate or hood/bonnet. This information is handy for all the apps but in particular the apps which provide safety information and insurance.
Following vehicle data params are added to BodyInformation
struct:
doorsStatus
gatesStatus
roofStatuses
Following vehicle data params are deprecated from BodyInformation
struct:
driverDoorAjar
passengerDoorAjar
rearLeftDoorAjar
rearRightDoorAjar
We are going to use location
to locate a door, a gate or a roof component. For Door and Gate, location
would utilize Grid
to locate/span the actual location of the Door or Gate while status
provides appropriate status (CLOSED/LOCKED/AJAR/REMOVED
). Roof can be a convertible roof, sunroof/moonroof or simply a removable roof. Based on roof type, parameters location
, state
and status
need to provide appropriate values. For example:
- Convertible roof -
location
grid would span entire rows and columns and roofstatus
could beCLOSED
orAJAR
with correspondingstate
. - Sunroof/Moonroof -
location
grid would span just actual location of sunroof/moonroof.status
could beCLOSED
orAJAR
with correspondingstate
. - Entire roof -
location
grid would span entire rows and columns and roof status would beREMOVED
orCLOSED/LOCKED
.state
can be omitted.
<struct name="DoorStatus" since="X.x">
<description>Describes the status of a parameter of door.</description>
<param name="location" type="Grid" mandatory="true"/>
<param name="status" type="DoorStatusType" mandatory="true"/>
</struct>
<enum name="DoorStatusType" since="X.x">
<element name="CLOSED"/>
<element name="LOCKED"/>
<element name="AJAR"/>
+ <element name="REMOVED"/>
</enum>
<struct name="GateStatus" since="X.x">
<description>Describes the status of a parameter of trunk/hood/etc.</description>
<param name="location" type="Grid" mandatory="true"/>
<param name="status" type="DoorStatusType" mandatory="true"/>
</struct>
<struct name="RoofStatus" since="X.x">
<description>
Describes the status of a parameter of roof/convertible roof/sunroof/moonroof etc.
If roof is open (AJAR), state will determine percentage of roof open.
</description>
<param name="location" type="Grid" mandatory="true"/>
<param name="status" type="DoorStatusType" mandatory="true"/>
<param name="state" type="WindowState" mandatory="false"/>
</struct>
<struct name="BodyInformation" since="2.0">
<param name="parkBrakeActive" type="Boolean" mandatory="true">
<description>If mechanical park brake is active, true. Otherwise false.</description>
</param>
<param name="ignitionStableStatus" type="IgnitionStableStatus" mandatory="true">
<description>Provides information on status of ignition stable switch. See IgnitionStableStatus.</description>
</param>
<param name="ignitionStatus" type="IgnitionStatus" mandatory="true">
<description>Provides information on current ignitiion status. See IgnitionStatus.</description>
</param>
<param name="driverDoorAjar" type="Boolean" mandatory="false" deprecated="true" since="X.x">
<description>References signal "DrStatDrv_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="passengerDoorAjar" type="Boolean" mandatory="false" deprecated="true" since="X.x">
<description>References signal "DrStatPsngr_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="rearLeftDoorAjar" type="Boolean" mandatory="false" deprecated="true" since="X.x">
<description>References signal "DrStatRl_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="rearRightDoorAjar" type="Boolean" mandatory="false" deprecated="true" since="X.x">
<description>References signal "DrStatRr_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
+ <param name="doorStatuses" type="DoorStatus" array="true" minsize="0" maxsize="100" mandatory="false" since="X.x">
+ <description>Provides status for doors if Ajar/Closed/Locked</description>
+ </param>
+ <param name="gateStatuses" type="GateStatus" array="true" minsize="0" maxsize="100" mandatory="false" since="X.x">
+ <description>Provides status for trunk/hood/etc. if Ajar/Closed/Locked</description>
+ </param>
+ <param name="roofStatuses" type="RoofStatus" array="true" minsize="0" maxsize="100" mandatory="false" since="X.x">
+ <description>Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removed etc.</description>
+ </param>
</struct>
<struct name="DoorStatus">
<description>Describes the status of a parameter of door.</description>
<param name="location" type="Common.Grid" mandatory="true"/>
<param name="status" type="Common.DoorStatusType" mandatory="true"/>
</struct>
<enum name="DoorStatusType">
<element name="CLOSED"/>
<element name="LOCKED"/>
<element name="AJAR"/>
+ <element name="REMOVED"/>
</enum>
<struct name="GateStatus">
<description>Describes the status of a parameter of trunk/hood/etc.</description>
<param name="location" type="Common.Grid" mandatory="true"/>
<param name="status" type="Common.DoorStatusType" mandatory="true"/>
</struct>
<struct name="RoofStatus">
<description>
Describes the status of a parameter of roof, convertible roof, sunroof/moonroof etc.
If roof is open (AJAR), state will determine percentage of roof open.
</description>
<param name="location" type="Common.Grid" mandatory="true"/>
<param name="status" type="Common.DoorStatusType" mandatory="true"/>
<param name="state" type="Common.WindowState" mandatory="false"/>
</struct>
<struct name="BodyInformation">
<param name="parkBrakeActive" type="Boolean" mandatory="true">
<description>If mechanical park brake is active, true. Otherwise false.</description>
</param>
<param name="ignitionStableStatus" type="Common.IgnitionStableStatus" mandatory="true">
<description>Provides information on status of ignition stable switch. See IgnitionStableStatus.</description>
</param>
<param name="ignitionStatus" type="Common.IgnitionStatus" mandatory="true">
<description>Provides information on current ignitiion status. See IgnitionStatus.</description>
</param>
<param name="driverDoorAjar" type="Boolean" mandatory="false">
<description>References signal "DrStatDrv_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="passengerDoorAjar" type="Boolean" mandatory="false">
<description>References signal "DrStatPsngr_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="rearLeftDoorAjar" type="Boolean" mandatory="false">
<description>References signal "DrStatRl_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
<param name="rearRightDoorAjar" type="Boolean" mandatory="false">
<description>References signal "DrStatRr_B_Actl". Deprecated starting with RPC Spec X.x.x.</description>
</param>
+ <param name="doorStatuses" type="Common.DoorStatus" array="true" minsize="0" maxsize="100" mandatory="false">
+ <description>Provides status for doors if Ajar/Closed/Locked</description>
+ </param>
+ <param name="gateStatuses" type="Common.GateStatus" array="true" minsize="0" maxsize="100" mandatory="false">
+ <description>Provides status for trunk/hood/etc. if Ajar/Closed/Locked</description>
+ </param>
+ <param name="roofStatuses" type="Common.RoofStatus" array="true" minsize="0" maxsize="100" mandatory="false">
+ <description>Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removed etc.</description>
+ </param>
</struct>
Some parameters are deprecated.
- SDL Core needs to be updated as per new API.
- iOS/Java Suite need to be updated to support getters/setters as per new API.
- HMI needs to be updated to support new vehicle data params.
- HMI Integration Guidelines need updates.
Door condition | status |
---|---|
Door is closed and locked | LOCKED |
Door is closed and unlocked | CLOSED |
Door is closed and unknown locked state | CLOSED |
Door is open | AJAR |
Door is physically removed | REMOVED |
- Convertible roof -
location
grid would span entire rows and columns and roofstatus
could beCLOSED
orAJAR
with correspondingstate
. - Sunroof/Moonroof -
location
grid would span just actual location of sunroof/moonroof.status
could beCLOSED
orAJAR
with correspondingstate
. - Entire roof -
location
grid would span entire rows and columns and roof status would beREMOVED
orCLOSED/LOCKED
.state
can be omitted. - Other type of roof -
location
grid would span actual location of the roof as per physical location.status
andstate
would be as per table below:
Roof condition | status |
state |
---|---|---|
Roof is closed and locked | LOCKED | approximatePosition = 0 & deviation = 0 |
Roof is closed and unlocked | CLOSED | approximatePosition = 0 & deviation = 0 |
Roof is closed and unknown locked state | CLOSED | approximatePosition = 0 & deviation = 0 |
Roof is open | AJAR | actual values of approximatePosition & deviation |
Roof is physically removed | REMOVED | can be omitted OR approximatePosition = 0 & deviation = 0 |
- New params can be added as new vehicle data item as well, but that might cause confusion with similar sounding vehicle data items.