The vehicle interface sends generic vehicle data over one or more output
interfaces (e.g. USB or Bluetooth) as JSON objects, separated by newlines.
The OpenXC message format is documented and versioned in a separate
repository.
If you're creating a web application that uses OpenXC data, this format is also
used for trace files and with the
Uploader
built into the Android library. There's an example web logging
example in Python that
illustrates a working example of how to receive and parse OpenXC data over HTTP.
This is the list of signals officially supported by the Android library. Be
aware that vehicles do not necessarily support all of these signals - there are
plans to be able to check for the existence of a signal before using it.
There are potentially many more signals available on the CAN bus, but we've
selected a small set of the most interesting signals to get started.
Disclaimer: We make no claims as to the accuracy or
reliability of any of these pieces of data, and provide no warranty as such.
Ford specific frequencies: The frequencies listed here are
for the Ford pre-compiled binary firmware. Some frequencies are given as a
range because the rate has been slowed down a bit in the firmware so Android
devices or data loggers aren't overwhelmed. If you have a use for the
maximum frequency mentioned, post in the
Google Group and we can
update the binaries or release a "high speed" version.
- steering_wheel_angle
-
-600 to +600 degrees
Ford frequency: 6Hz (max 90Hz)
- torque_at_transmission
-
-500 to 1500 Nm
Ford frequency: 60Hz
- engine_speed
-
-
0 to 16382 RPM
Ford frequency: 4Hz (max 60Hz)
- vehicle_speed
- 0 to 655 km/h (this will be positive even if going in reverse as it's
not a velocity, although you can use the gear status to figure out
direction)
Ford frequency: 4Hz (max 60Hz)
- accelerator_pedal_position
-
0 to 100%
Ford frequency: 60Hz
- parking_brake_status
-
Boolean (true == brake engaged)
Ford frequency: Sent only if value changes
- brake_pedal_status
-
Boolean (True == pedal pressed)
Ford frequency: Sent only if value changes
- transmission_gear_position
-
States: first, second, third, fourth, fifth, sixth, seventh, eighth,
reverse, neutral
Ford frequency: Sent only if value changes
- odometer
-
0 to 16777214.000 km, with about .2m resolution
Ford frequency: 10Hz
- ignition_status
-
States: off, accessory, run, start
Ford frequency: Sent only if value changes
- fuel_level
-
0 - 100%
Ford frequency: 48Hz
- fuel_consumed_since_restart
-
0 - 4294967295.0 L (this goes to 0 every time the vehicle restarts, like
a trip meter)
Ford frequency: 10Hz
- door_status
-
Value is State: driver, passenger, rear_left, rear_right.
Event is Boolean: true == ajar
Ford frequency: Sent only if value changes
- headlamp_status
-
Boolean, true is on
Ford frequency: Sent only if value changes
- high_beam_status
-
Boolean, true is on
Ford frequency: Sent only if value changes
- windshield_wiper_status
-
Boolean, true is on
Ford frequency: Sent only if value changes
- latitude
-
-89.0 to 89.0 degrees with standard GPS accuracy
Ford frequency: 1Hz
- longitude
-
-179.0 to 179.0 degrees with standard GPS accuracy
Ford frequency: 1Hz
- button_event
-
Value is State: left, right, up, down, ok.
Event is State: idle, pressed, released, held_short, held_long, stuck
(The buttons this message refer to are highly dependent on the specific
vehicle, but if it's supported, try the steering wheel buttons.)
Ford frequency: Sent only if value changes
Before you can receive data from a vehicle, you need to load the proper firmware
version.