QNX CAR Platform for Infotainment 2.1 -- JavaScript API (Cordova)

car.sensors

Provides access to custom automotive sensors
Source:

Members

<static> Sensor

Sensor type enumeration.

NOTE: This is provided as an example only. This API is intended to be a custom implementation for each system to access its specific sensor data.

Properties:
Name Type Description
FUEL_LEVEL Number Fuel level (0 to 100%).
COOLANT_LEVEL Number Coolant level (0 to 100%).
COOLANT_TEMPERATURE Number Coolant temperature.
ENGINE_OIL_PRESSURE Number Engine oil pressure (>=0 PSI).
ENGINE_OIL_LEVEL Number Engine oil level (0 to 100%).
ENGINE_OIL_TEMPERATURE Number Engine oil temperature.
RPM Number Engine RPM (>=0).
SPEED Number Vehicle speed (>=0).
BRAKE_FLUID_LEVEL Number Brake fluid level (0 to 100%).
BRAKE_ABS_ENABLED Boolean ABS brakes (true for on; default is true).
BRAKE_PAD_WEAR_FRONTLEFT Number Front left brake pad wear (0 to 100%).
BRAKE_PAD_WEAR_FRONTRIGHT Number Front right brake pad wear (0 to 100%).
BRAKE_PAD_WEAR_REARLEFT Number Rear left brake pad wear (0 to 100%).
BRAKE_PAD_WEAR_REARRIGHT Number Rear right brake pad wear (0 to 100%).
BRAKE_ABS_FRONTLEFT Boolean Front left ABS (true for on; default is true).
BRAKE_ABS_FRONTRIGHT Boolean Front right ABS (true for on; default is true).
BRAKE_ABS_REARLEFT Boolean Rear left ABS (true for on; default is true).
BRAKE_ABS_REARRIGHT Boolean Rear right ABS (true for on; default is true).
TIRE_PRESSURE_FRONTLEFT Number Front left tire pressure (>=0 PSI).
TIRE_PRESSURE_FRONTRIGHT Number Front right tire pressure (>=0 PSI).
TIRE_PRESSURE_REARLEFT Number Rear left tire pressure (>=0 PSI).
TIRE_PRESSURE_REARRIGHT Number Rear right tire pressure (>=0 PSI).
TIRE_WEAR_FRONTLEFT Number Front left tire wear (0 to 100%).
TIRE_WEAR_FRONTRIGHT Number Front right tire wear (0 to 100%).
TIRE_WEAR_REARLEFT Number Rear left tire wear (0 to 100%).
TIRE_WEAR_REARRIGHT Number Rear right tire wear (0 to 100%).
LIGHT_HEADLIGHT_LEFT Boolean Left head light (true for on).
LIGHT_HEADLIGHT_RIGHT Boolean Right head light (true for on).
LIGHT_TAILLIGHT_LEFT Boolean Left tail light (true for on).
LIGHT_TAILLIGHT_RIGHT Boolean Right tail light (true for on).
TRANSMISSION_FLUID_LEVEL Number Transmission fluid level (0 to 100%).
TRANSMISSION_FLUID_TEMPERATURE Number Transmission fluid temperature (-273.15 to 1000 degrees Fahrenheit).
TRANSMISSION_CLUTCH_WEAR Number Clutch wear level (0 to 100%).
TRANSMISSION_GEAR String Transmission gear (One of: p,r,n,d,1,2,3,4,5,6,7).
WASHERFLUID_LEVEL Number Washer fluid level (0 to 100%).
Source:

Methods

<static> cancelWatch(watchId)

Stop watching sensor changes
Parameters:
Name Type Description
watchId Number The watch ID returned by car.sensors.watchSensors.
Source:
Example
car.sensors.cancelWatch(watchId);

<static> get(successCallback, errorCallback, sensors)

Return the current vehicle sensors

If successfull, the successCallback method will be called with an object describing the available sensors, their location (if applicable), and their values.

Parameters:
Name Type Argument Description
successCallback Function The callback that is called with the result on success.
errorCallback Function <optional>
The callback that is called if there is an error.
sensors Array <optional>
A list of car.sensor.Sensor values to whitelist.
Source:
Examples
 

//define your callback function(s)
function successCallback(sensorData) {
		//iterate through all the sensors
 		var sensors = Object.keys(sensorData);
		for (var i=0; i<sensors.length; i++) {
			console.log("sensor name = " + sensors[i] + "; sensor value = " + sensorData[sensors[i]]);
		}

		//get the speed
		if (typeof sensorData[car.sensors.Sensor.SPEED] !== 'undefined') {
			console.log("speed = " + sensorData[car.sensors.Sensor.SPEED]);
		}
}

function errorCallback(error) {
		console.log(error.code, error.msg);
}

//optional: define a list of sensors by which to filter
var sensors = [ car.sensors.Sensor.SPEED, car.sensors.Sensor.RPM ];
//NOTE: this is equivalent to doing: var sensors = [ 'speed', 'rpm' ];

//call the method
car.sensors.get(successCallback, errorCallback, sensors);
 REST - with a filter

Request:
http://<car-ip>/car/sensors/get?sensors=speed,rpm

Success Response:
{
		code: 1,
		data: { speed: 50, rpm: 2000 }
}

Error Response:
{
		code: -1,
		msg: "An error has occurred"
}

<static> watchSensors(callback) → {Number}

Watch for sensor changes
Parameters:
Name Type Description
callback Function The function to be called when a change is detected.
Source:
Returns:
An ID for the added watch.
Type
Number
Example
//define a callback function
function myCallback(sensorData) {
		//iterate through all the sensors
 		var sensors = Object.keys(sensorData);
		for (var i=0; i<sensors.length; i++) {
			console.log("sensor name = " + sensors[i] + "; sensor value = " + sensorData[sensors[i]]);
		}
}

var watchId = car.sensors.watchSensors(myCallback);