Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible additions to address Android VHAL signals #18

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion spec/Body/Body.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ BodyType:
description: Body type code as defined by ISO 3779.

RefuelPosition:
deprecation: V3.1 replaced by Vehicle.Powertrain.TractionBattery.Charging.ChargePortPosition and Vehicle.Powertrain.FuelSystem.RefuelPosition
datatype: string
type: attribute
allowed: ['FRONT_LEFT', 'FRONT_RIGHT', 'MIDDLE_LEFT', 'MIDDLE_RIGHT', 'REAR_LEFT', 'REAR_RIGHT']
Expand Down Expand Up @@ -198,7 +199,7 @@ Lights.Beam:

Lights.Running:
type: branch
description: Running lights.
description: Daytime running lights (DRL).
#include StaticLights.vspec Lights.Running

Lights.Backup:
Expand Down
5 changes: 5 additions & 0 deletions spec/Body/ExteriorMirrors.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ Pan:
max: 100
description: Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.

IsFolded:
datatype: boolean
type: actuator
description: Indicates if mirrors are folded.

IsHeatingOn:
datatype: boolean
type: actuator
Expand Down
28 changes: 28 additions & 0 deletions spec/Cabin/HVAC.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,27 @@ Station:
description: HVAC for single station in the vehicle
#include SingleHVACStation.vspec Station


IsHVACActivated:
datatype: boolean
type: actuator
description: Is HVAC system on. When false fans and air conditioning is deactivated.

IsRecirculationActive:
datatype: boolean
type: actuator
description: Is recirculation active.

IsAutoRecirculationActive:
datatype: boolean
type: actuator
description: Indicates if system automatically shall change to recirculation mode if incoming air quality is low.

IsFrontDefrosterActive:
datatype: boolean
type: actuator
description: Is front defroster active.
comment: This signal refer to or control both electric defroster (if existing) and fan-based defroster.

IsRearDefrosterActive:
datatype: boolean
Expand All @@ -38,8 +50,24 @@ IsAirConditioningActive:
type: actuator
description: Is Air conditioning active.

IsAirConditioningMaxOn:
datatype: boolean
type: actuator
description: Indicates if air condition system is in max mode.
In max mode the VAC system shall try to cool the vehicle as much and fast as possible.

AmbientAirTemperature:
datatype: float
type: sensor
unit: celsius
description: Ambient air temperature inside the vehicle.

IsIndividualMode:
datatype: boolean
type: actuator
description: Indicates if individual mode is on.
True = changing fan speed and temperature for one HVAC station change it only for that station.
False = changing fan speed and temperature on master HVAC station shall change it for all HVAC stations.
comment: The master HVAC station is typically the HVAC station controlled by the driver.
A vehicle may automatically change to IsIndividualMode=True if someone change temperature or fan speed on other HVAC stations.
IsIndividualMode=True is sometimes referred to as dual mode. IsIndividualMode=False is sometimes referred to as synchronized mode.
14 changes: 14 additions & 0 deletions spec/Cabin/Infotainment.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,12 @@ HMI.TimeFormat:
allowed: ['HR_12', 'HR_24']
description: Time format used in the current HMI

HMI.SpeedUnit:
datatype: string
type: actuator
allowed: ['METER_PER_SECOND', 'MILES_PER_HOUR', 'KILOMETERS_PER_HOUR']
description: Speed unit used in the current HMI

HMI.DistanceUnit:
datatype: string
type: actuator
Expand All @@ -158,6 +164,14 @@ HMI.EVEconomyUnits:
allowed: ['MILES_PER_KILOWATT_HOUR', 'KILOMETERS_PER_KILOWATT_HOUR', 'KILOWATT_HOURS_PER_100_MILES', 'KILOWATT_HOURS_PER_100_KILOMETERS', 'WATT_HOURS_PER_MILE', 'WATT_HOURS_PER_KILOMETER']
description: EV fuel economy unit used in the current HMI

HMI.EVEnergyUnits:
datatype: string
type: actuator
allowed: ['WATT_HOURS','AMPERE_HOURS', 'KILOWATT_HOURS']
description: EV energy unit used in the current HMI
comment: Ampere hours is by definition not an energy unit, but can be used as a measurement of energy
if the voltage, like nominal voltage of the battery, is known.

HMI.TemperatureUnit:
datatype: string
type: actuator
Expand Down
4 changes: 2 additions & 2 deletions spec/Cabin/InteriorLights.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ IsGloveBoxOn:
IsTrunkOn:
datatype: boolean
type: actuator
description: Is trunk light light on
description: Is trunk light on

IsDomeOn:
datatype: boolean
type: actuator
description: Is central dome light light on
description: Is central dome light on

AmbientLight:
datatype: uint8
Expand Down
10 changes: 10 additions & 0 deletions spec/Cabin/SingleDoor.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@ IsLocked:
description: Is door locked or unlocked. True = Locked. False = Unlocked.


Position:
datatype: uint8
type: sensor
min: 0
max: 100
unit: percent
description: Door position. 0 = Fully closed 100 = Fully opened.

#include SingleSliderSwitch.vspec

#
# Window description
#
Expand Down
7 changes: 7 additions & 0 deletions spec/Cabin/SingleHVACStation.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,10 @@ AirDistribution:
type: actuator
allowed: ['UP', 'MIDDLE', 'DOWN']
description: Direction of airstream


IsAutoMode:
datatype: boolean
type: actuator
description: Indicates if auto mode is on.
In auto mode fan speed and air distribution may change without user action.
44 changes: 44 additions & 0 deletions spec/Cabin/SingleSeat.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
# z-axis is the axis going up/down on the vehicle
#


IsOccupied:
datatype: boolean
type: sensor
Expand All @@ -43,6 +44,14 @@ IsBelted:
type: sensor
description: Is the belt engaged.

SeatBeltHeight:
datatype: uint16
type: actuator
min: 0
unit: mm
description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt.
0 = Lowermost position supported.

Heating:
datatype: int8
type: actuator
Expand All @@ -51,6 +60,13 @@ Heating:
unit: percent
description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.

Ventilation:
datatype: uint8
type: actuator
max: 100
unit: percent
description: Seat ventilation. 0 = off. 100 = max ventilation.

Massage:
datatype: uint8
type: actuator
Expand Down Expand Up @@ -192,6 +208,16 @@ Switch.IsCoolerEngaged:
type: actuator
description: Cooler switch for Seat heater (SingleSeat.Heating).

Switch.IsMoreVentilationEngaged:
datatype: boolean
type: actuator
description: Switch to increase seat ventilation (SingleSeat.Ventilation).

Switch.IsLessVentilationEngaged:
datatype: boolean
type: actuator
description: Switch to decrease seat ventilation (SingleSeat.Ventilation).

Switch.IsForwardEngaged:
datatype: boolean
type: actuator
Expand Down Expand Up @@ -326,3 +352,21 @@ Switch.Massage.IsDecreaseEngaged:
type: actuator
description: Decrease massage level switch engaged (SingleSeat.Massage).



SeatMemory:
type: branch
description: Data to control seat memory.

SeatMemory.Select:
datatype: uint8
type: actuator
description: Specifies that saved settings from seat memory shall be used. 0 indicates that saved settings are not used.
comment: Number of seat memories available is vehicle dependent

SeatMemory.Set:
datatype: uint8
type: actuator
description: Requests the vehicle to save current seat settings in the specified seat memory.
0 is reserved and indicates that nothing shall be saved.
comment: Number of seat memories available is vehicle dependent.
33 changes: 30 additions & 3 deletions spec/Chassis/Chassis.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Wheelbase:
description: Overall wheel base, in mm.

Track:
deprecation: V3.1 moved to Axle.Track
datatype: uint16
type: attribute
default: 0
Expand Down Expand Up @@ -60,7 +61,20 @@ Axle.WheelWidth:
unit: inch
description: Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.

Axle.Track:
datatype: uint16
type: attribute
default: 0
unit: mm
description: Overall track width at wheel center, as defined by SAE J1100-2009 W102.

Axle.SteeringAngle:
datatype: float
type: sensor
unit: degrees
description: Single track two-axle model steering angle.
Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right.
comment: Single track two-axle model steering angle refers to the angle that a centrally mounted wheel would have.
#
# Tire attributes
#
Expand Down Expand Up @@ -110,6 +124,10 @@ ParkingBrake.IsEngaged:
type: actuator
description: Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.

ParkingBrake.IsAutoApplyEnabled:
datatype: boolean
type: actuator
description: Indicates if parking brake will be automatically engaged when the vehicle engine is turned off.

#
# Steering Wheel
Expand All @@ -119,21 +137,21 @@ SteeringWheel:
description: Steering wheel signals

SteeringWheel.Angle:
datatype: int16
datatype: float
type: sensor
unit: degrees
description: Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.

SteeringWheel.Tilt:
datatype: uint8
datatype: float
type: actuator
min: 0
max: 100
unit: percent
description: Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.

SteeringWheel.Extension:
datatype: uint8
datatype: float
type: actuator
min: 0
max: 100
Expand All @@ -146,6 +164,15 @@ SteeringWheel.Position:
default: 'FRONT_LEFT'
allowed: ['FRONT_LEFT', 'FRONT_RIGHT']
description: Position of the steering wheel on the left or right side of the vehicle.


SteeringWheel.Heating:
datatype: uint8
type: actuator
min: 0
max: 100
unit: percent
description: Steering wheel heating. 0 = Heating off. 100 = Maximum heating.

#
# Accelerator
Expand Down
30 changes: 29 additions & 1 deletion spec/Chassis/Wheel.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,32 @@ Speed:
datatype: float
type: sensor
unit: km/h
description: Rotational speed of a vehicle's wheel.
description: Rotational speed of a vehicle's wheel,
comment: The value refers to average speed during the interval specified by SpeedMeasurementInterval.

#
# TODO: Discuss if this will vary on wheel basis, or if it always is the same for all wheels.
#
SpeedMeasurementInterval:
datatype: float
type: sensor
unit: s
description: Interval used for calculating wheel speed.
comment: The interval may vary depending on vehicle state.

# Wheel Ticks for now considered less prioritized, unclear if actually needed for VSS use cases

WheelTicks:
datatype: int32
type: sensor
description: Counter for wheel ticks. Counter increase when wheel rotates forward and decrease when wheel rotates backward.
Counter is reset when vehicle is powered on.
comment: Wheel tick value can be negative, for example if the vehicle after being powered on starts driving backward.
Theoretically the value may wrap around but it will unlikely happen in reality as an int32 with typical
WheelTicksPerRotation (<100) and tire circumference ( about 2 cm per tick) can handle about 40000 km before wrap around.

WheelTicksPerRotation:
datatype: uint16
type: attribute
description: Number of ticks registered for one rotation of the wheel

6 changes: 6 additions & 0 deletions spec/Powertrain/Battery.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,12 @@ Charging.ChargePortFlap:
allowed: ['OPEN', 'CLOSED']
description: Status of the charge port cover, can potentially be controlled manually.

ChargePortPosition:
datatype: string
type: attribute
allowed: ['FRONT_LEFT', 'FRONT_RIGHT', 'MIDDLE_LEFT', 'MIDDLE_RIGHT', 'REAR_LEFT', 'REAR_RIGHT', 'FRONT', 'REAR']
description: Location of the charge port

Charging.IsChargingCableConnected:
datatype: boolean
type: sensor
Expand Down
12 changes: 12 additions & 0 deletions spec/Powertrain/FuelSystem.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@ SupportedFuel:
with additional suffix for octane (RON) where relevant.
comment: RON 95 is sometimes referred to as Super, RON 98 as Super Plus.


RefuelPosition:
datatype: string
type: attribute
allowed: ['FRONT_LEFT', 'FRONT_RIGHT', 'MIDDLE_LEFT', 'MIDDLE_RIGHT', 'REAR_LEFT', 'REAR_RIGHT', 'FRONT', 'REAR']
description: Location of the fuel cap.

IsFuelDoorOpen:
datatype: boolean
type: actuator
description: Status of the fuel door.

HybridType:
datatype: string
type: attribute
Expand Down
14 changes: 12 additions & 2 deletions spec/Vehicle/Vehicle.vspec
Original file line number Diff line number Diff line change
Expand Up @@ -346,11 +346,21 @@ Height:
Width:
datatype: uint16
type: attribute
default: 0
unit: mm
description: Overall vehicle width.
description: Overall vehicle width excluding mirrors, as defined by SAE J1100-2009 W103.

WidthIncludingMirrors:
datatype: uint16
type: attribute
unit: mm
description: Overall vehicle width including mirrors, as defined by SAE J1100-2009 W144.


TurnDiameter:
datatype: uint16
type: attribute
unit: mm
description: Minimum turn diameter, as defined by SAE J1100-2009 D102.
#
# Trailer
#
Expand Down