- Proposal: SDL-0269
- 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 ClimateData
to know cabin temperature, atmospheric pressure and external temperature.
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. Weather apps need additional information on climate conditions and that can be provided with external/internal temperature and atmospheric pressure.
We need to add ClimateData
for GetVehicleData
, SubscribeVehicleData
, UnsubscribeVehicleData
& OnVehicleData
RPCs. Vehicle data item externalTemperature
would be deprecated as it is now part of ClimateData
. Following are the changes needed in MOBILE_API and HMI_API:
<element name="VEHICLEDATA_CLIMATEDATA" since="X.x"/>
<element name="VEHICLEDATA_EXTERNTEMP" until="X.x">
<history>
<element name="VEHICLEDATA_EXTERNTEMP" since="2.0" until="X.x" />
</history>
</element>
<struct name="ClimateData" since="x.x">
<param name="externalTemperature" type="Temperature" mandatory="false">
<description>The external temperature in degrees celsius</description>
</param>
<param name="cabinTemperature" type="Temperature" mandatory="false">
<description>Internal ambient cabin temperature in degrees celsius</description>
</param>
<param name="atmosphericPressure" type="Float" minvalue="0" maxvalue="2000" mandatory="false">
<description>Current atmospheric pressure in mBar</description>
</param>
</struct>
SubscribeVehicleData
UnsubscribeVehicleData
GetVehicleData
<param name="climateData" type="Boolean" mandatory="false" since="X.x">
<description>See ClimateData</description>
</param>
<param name="externalTemperature" type="Boolean" mandatory="false" deprecated="true" since="X.x">
<description>The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec X.x.x, please see climateData.</description>
<history>
<param name="externalTemperature" type="Boolean" mandatory="false" since="2.0" until="X.x" />
</history>
</param>
SubscribeVehicleData
UnsubscribeVehicleData
<param name="climateData" type="VehicleDataResult" mandatory="false" since="X.x">
<description>See ClimateData</description>
</param>
<param name="externalTemperature" type="VehicleDataResult" mandatory="false" deprecated="true" since="X.x">
<description>The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec X.x.x, please see climateData.</description>
<history>
<param name="externalTemperature" type="VehicleDataResult" mandatory="false" since="2.0" until="X.x" />
</history>
</param>
GetVehicleData
OnVehicleData
<param name="climateData" type="ClimateData" mandatory="false" since="X.x">
<description>See ClimateData</description>
</param>
<param name="externalTemperature" type="Float" minvalue="-40" maxvalue="100" mandatory="false" deprecated="true" since="X.x">
<description>The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec X.x.x, please see climateData.</description>
<history>
<param name="externalTemperature" type="Float" minvalue="-40" maxvalue="100" mandatory="false" since="2.0" until="X.x" />
</history>
</param>
<element name="VEHICLEDATA_CLIMATEDATA"/>
<struct name="ClimateData">
<param name="externalTemperature" type="Common.Temperature" mandatory="false">
<description>The external temperature in degrees celsius</description>
</param>
<param name="cabinTemperature" type="Common.Temperature" mandatory="false">
<description>Internal ambient cabin temperature in degrees celsius</description>
</param>
<param name="atmosphericPressure" type="Float" minvalue="0" maxvalue="2000" mandatory="false">
<description>Current atmospheric pressure in mBar</description>
</param>
</struct>
SubscribeVehicleData
UnsubscribeVehicleData
GetVehicleData
<param name="climateData" type="Boolean" mandatory="false">
<description>See ClimateData</description>
</param>
SubscribeVehicleData
UnsubscribeVehicleData
<param name="climateData" type="Common.VehicleDataResult" mandatory="false">
<description>See ClimateData</description>
</param>
GetVehicleData
OnVehicleData
<param name="climateData" type="Common.ClimateData" mandatory="false">
<description>See ClimateData</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.
- None