- Proposal: SDL-0262
- Author: Ankur Tiwari
- Status: Accepted with Revisions
- Impacted Platforms: [Core | HMI | Policy Server | SHAID | iOS | Java Suite | RPC]
This proposal is to add new vehicle data SeatOccupancy
to know if a vehicle seat is occupied and belted.
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. For insurance apps and emergency assistance apps, it is important to know which seats are occupied and belted.
We need to add SeatOccupancy
for GetVehicleData
, SubscribeVehicleData
, UnsubscribeVehicleData
& OnVehicleData
RPCs. Following are the changes needed in MOBILE_API and HMI_API:
<element name="VEHICLEDATA_SEATOCCUPANCY" since="X.x"/>
<struct name="SeatStatus" since="X.x">
<description>Describes the status of a parameter of seat.</description>
<param name="seatLocation" type="SeatLocation" mandatory="true"/>
<param name="conditionActive" type="Boolean" mandatory="true"/>
</struct>
<struct name="SeatOccupancy" since="X.x">
<param name="seatsOccupied" type="SeatStatus" array="true" minsize="0" maxsize="100" mandatory="false">
<description>Seat status array containing location and whether the seats are occupied.</description>
</param>
<param name="seatsBelted" type="SeatStatus" array="true" minsize="0" maxsize="100" mandatory="false">
<description>Seat status array containing location and whether the seats are belted.</description>
</param>
</struct>
SubscribeVehicleData
UnsubscribeVehicleData
GetVehicleData
<param name="seatOccupancy" type="Boolean" mandatory="false" since="X.x">
<description>See SeatOccupancy</description>
</param>
SubscribeVehicleData
UnsubscribeVehicleData
<param name="seatOccupancy" type="VehicleDataResult" mandatory="false" since="X.x">
<description>See SeatOccupancy</description>
</param>
GetVehicleData
OnVehicleData
<param name="seatOccupancy" type="SeatOccupancy" mandatory="false" since="X.x">
<description>See SeatOccupancy</description>
</param>
<element name="VEHICLEDATA_SEATOCCUPANCY"/>
<struct name="SeatStatus">
<description>Describes the status of a parameter of seat.</description>
<param name="seatLocation" type="Common.SeatLocation" mandatory="true"/>
<param name="conditionActive" type="Boolean" mandatory="true"/>
</struct>
<struct name="SeatOccupancy">
<param name="seatsOccupied" type="Common.SeatStatus" array="true" minsize="0" maxsize="100" mandatory="false">
<description>Seat status array containing location and whether the seats are occupied.</description>
</param>
<param name="seatsBelted" type="Common.SeatStatus" array="true" minsize="0" maxsize="100" mandatory="false">
<description>Seat status array containing location and whether the seats are belted.</description>
</struct>
SubscribeVehicleData
UnsubscribeVehicleData
GetVehicleData
<param name="seatOccupancy" type="Boolean" mandatory="false">
<description>See SeatOccupancy</description>
</param>
SubscribeVehicleData
UnsubscribeVehicleData
<param name="seatOccupancy" type="Common.VehicleDataResult" mandatory="false">
<description>See SeatOccupancy</description>
</param>
GetVehicleData
OnVehicleData
<param name="seatOccupancy" type="Common.SeatOccupancy" mandatory="false">
<description>See SeatOccupancy</description>
</param>
Author is not aware of any downsides to proposed solution. This proposal just enhances the SDL content.
- 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.
- SDL Server needs to add permissions for new vehicle data items.
- SHAID needs to add mappings for new vehicle data items as per updated spec.
- HMI needs to be updated to support new vehicle data items.
SeatOccupancy
has information on if seat is occupied and belt buckled status. Potentially these can be separate vehicle data items as well. If we do separate these two, it'd need additional coding and maintenance for one more vehicle data item.