The Virtual Mechanic app allows the user to view the status of these components in the platform's HMI:
The VM plugin subscribes to the /pps/qnxcar/sensors/status object, which the Virtual Mechanic app uses to report status values for all of its components.
The caution status condition initially has the default priority, whereas the alert status condition has a priority that is one greater than the default. Note that the plugin monitors several categories of data, so each of these can potentially have different caution and alert priorities.
event-priorities { Caution { fuelLevel = 2 washerFluidLevel = 1 transmissionFluidLevel = 2 coolantLevel = 2 brakeFluidLevel = 2 tirePressure = 1 tireWear = 1 brakePadWear = 1 brakeAbs = 1 engineOilPressure = 2 engineOilLevel = 2 rpm = 0 #temperature = 2 #clutch_wear = 2 lightHead = 2 lightTail = 2 } Alert { fuelLevel = 3 washerFluidLevel = 1 transmissionFluidLevel = 3 coolantLevel = 3 brakeFluidLevel = 3 tirePressure = 2 tireWear = 2 brakePadWear = 2 brakeAbs = 2 engineOilPressure = 3 engineOilLevel = 3 rpm = 0 #temperature = 3 #clutch_wear = 3 lightHead = 3 lightTail = 3 } }
The nested event names correspond to the names of the attributes published in the /pps/qnxcar/sensors/status object.
Attribute | Caution status condition | Alert status condition |
---|---|---|
brakeAbsEnabled | n/a | n/a |
brakeAbsFrontLeft | false | n/a |
brakeAbsFrontRight | false | n/a |
brakeAbsRearLeft | false | n/a |
brakeAbsRearRight | false | n/a |
brakeFluidLevel | <=80% | <=70% |
brakePadWearFrontLeft | <=40% | <=20% |
brakePadWearFrontRight | <=40% | <=20% |
brakePadWearRearLeft | <=40% | <=20% |
brakePadWearRearRight | <=40% | <=20% |
cameraRearviewActive | n/a | n/a |
coolantLevel | <=80% | <=70% |
engineOilLevel | <=85% | <=75% |
engineOilPressure | <=85% | <=75% |
fuelLevel | <=25% | <=10% |
lightHeadLeft | false | n/a |
lightHeadRight | false | n/a |
lightTailLeft | false | n/a |
lightTailRight | false | n/a |
rpm | >=6250 | >=7000 |
speed | n/a | n/a |
tirePressureFrontLeft | <=26 PSI, >=36 PSI | <=24 PSI, >=38 PSI |
tirePressureFrontRight | <=26 PSI, >=36 PSI | <=24 PSI, >=38 PSI |
tirePressureRearLeft | <=26 PSI, >=36 PSI | <=24 PSI, >=38 PSI |
tirePressureRearRight | <=26 PSI, >=36 PSI | <=24 PSI, >=38 PSI |
tireWearFrontLeft | <=30% | <=20% |
tireWearFrontRight | <=30% | <=20% |
tireWearRearLeft | <=30% | <=20% |
tireWearRearRight | <=30% | <=20% |
transmissionClutchWear | <=60% | <=40% |
transmissionFluidLevel | <=80% | <=70% |
transmissionFluidTemperature | >=215 (degrees F) | >=240 (degrees F) |
transmissionGear | n/a | n/a |
washerFluidLevel | <=20% | <=10% |
Since the VM plugin wraps the /pps/qnxcar/sensors/status object, the open() callback must subscribe to this PPS object so that the plugin will be notified of any changes published by the Virtual Mechanic app.
The close() callback closes the PPS object that the VM plugin subscribes to.
The read_event callback will return the event data from the VM plugin. This function will interpret any changes to the PPS data from the /pps/qnxcar/sensors/status object and will construct the appropriate event structure, returning this to the caller. If no data is available from PPS, this function returns false.
For more information, see "API Reference" in this guide.
VirtualMechanic { dll = /lib/dll/hmi-notification/event-source-vm.so