Vehicle functions¶
This module is contains the Vehicle class, which is the main entry point for using the Python library to access vehicle data programatically. Most users will want to interact with an instance of Vehicle, and won’t need to deal with other parts of the library directly (besides measurement types).
-
class
openxc.vehicle.
Vehicle
(interface=None)¶ The Vehicle class is the main entry point for the OpenXC Python library. A Vehicle represents a connection to at least one vehicle data source and zero or 1 vehicle controllers, which can accept commands to send back to the vehicle. A Vehicle instance can have more than one data source (e.g. if the computer using this library has a secondary GPS data source).
Most applications will either request synchronous vehicle data measurements using the
get
method or or with a callback function passed tolisten
.More advanced applications that want access to all raw vehicle data may want to register a
DataSink
with a Vehicle.Construct a new Vehicle instance, optionally providing an vehicle interface from
openxc.interface
to user for I/O.-
add_sink
(sink)¶ Add a vehicle data sink to the instance.
sink
should be a sub-class ofDataSink
or at least have areceive(message, **kwargs)
method.The sink will be started if it is startable. (i.e. it has a
start()
method).
-
add_source
(source)¶ Add a vehicle data source to the instance.
The Vehicle instance will be set as the callback of the source, and the source will be started if it is startable. (i.e. it has a
start()
method).
-
get
(measurement_class)¶ Return the latest measurement for the given class or None if nothing has been received from the vehicle.
-
listen
(measurement_class, callback)¶ Register the callback function to be called whenever a new measurement of the given class is received from the vehicle data sources.
If the callback is already registered for measurements of the given type, this method will have no effect.
-
unlisten
(measurement_class, callback)¶ Stop notifying the given callback of new values of the measurement type.
If the callback was not previously registered as a listener, this method will have no effect.
-