CAN Retrieval
For a description of the API classes and methods see the API Specification.
CAN Data Retrieval Logical Diagram
Before an application can request CAN data the CAN bus, the Aux Micro CAN listener, and the CAN Service on the Main Micro must have started.
After the CAN bus is active the Vehicle ECUs can start sending signals on the CAN bus.
After it is started the CAN Listener on the Aux Micro monitors the CAN bus for any of the signals identified by connected services as required. These are specified as part of the Kona Interface Specification.
The Architecture Translation on the Aux Micro translates the retrieved CAN data to a Powernet architecture format using transfer functions that define how the data is to be transferred from one architecture to another. For example, an Atlantis batteryvoltagelevel signal is transferred to a Powernet batt_volt signal by multiplying the batteryvoltagelevel signal by 1.6. The destination signal will always be Powernet unless no Powernet signal exists.
Using Inter-Process Communication, IPC the Aux Micro sends the CAN signal to the Main Micro where the CAN Service maps the signal to the appropriate sensor using the sensor_properties JSON file provided as part of the Kona Interface Specification. The sensor data is then placed in a store and forward message queue. The Store and Forward Message Queue holds the current value of all sensors and is able to notify other services when sensor data changes.
CAN data is available to the applications at this point through Kona API synchronously or asynchronously.
Synchronous CAN data retrieval is achieved through a SensorConnection Java object.