-interfaces (e.g. USB or Bluetooth) as JSON objects, separated by newlines.
-
-There are two valid message types - single valued and evented.
-
-There may not be a 1:1 relationship between input and output signals - i.e. raw
-engine timing CAN signals may be summarized in an "engine performance" metric on
-the abstract side of the interface.
-
-## Single Valued
-
-The expected format of a single valued message is:
-
- {"name": "steering_wheel_angle", "value": 45}
-
-## Evented
-
-The expected format of an event message is:
-
- {"name": "button_event", "value": "up", "event": "pressed"}
-
-This format is good for something like a button event, where there are two
-discrete pieces of information in the measurement.
-
-## Raw CAN Message format
-
-An OpenXC vehicle interface may also output raw CAN messages. Each CAN message
-is sent as a JSON object, separated by newlines. The format of each object is:
-
- {"bus": 1, "id": 1234, "value": "0x12345678"}
-
-**bus** - the numerical identifier of the CAN bus where this message originated,
- most likely 1 or 2 (for a vehicle interface with 2 CAN controllers).
-
-**id** - the CAN message ID
-
-**data** - up to 8 bytes of data from the CAN message's payload, represented as
- a hexidecimal number in a string. Many JSON parser cannot handle 64-bit
- integers, which is why we are not using a numerical data type. Each byte in
- the string *must* be represented with 2 characters, e.g. `0x1` is `0x01` - the
- complete string must have an even number of characters.
-
-## Diagnostic Messages
-
-### Requests
-
-A request to add or update a diagnostic request is sent to a vehicle interface
-with this command format:
-
- { "command": "diagnostic_request",
- "request": {
- "bus": 1,
- "id": 1234,
- "mode": 1,
- "pid": 5,
- "payload": "0x1234",
- "parse_payload": true,
- "multiple_response": false,
- "factor": 1.0,
- "offset": 0,
- "frequency": 1,
- "name": "my_pid"
- }
- }
- }
-
-**bus** - the numerical identifier of the CAN bus where this request should be
- sent, most likely 1 or 2 (for a vehicle interface with 2 CAN controllers).
-
-**id** - the CAN arbitration ID for the request.