X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=README.md;h=cef6ea376698f6cedb1e0a01babc8453fe3471b7;hb=f3f00874c637bcd700ded55f39cee5b1a881bc7c;hp=01ca5f3984b88ae66428f413d7bd79b1237bfe9a;hpb=19b53e4dada2d696c3291bd77dd736cd5d3415bf;p=apps%2Fagl-service-can-low-level.git diff --git a/README.md b/README.md index 01ca5f39..cef6ea37 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ with this command format: "pid": 5, "payload": "0x1234", "parse_payload": true, - "multiple_response": false, + "multiple_responses": false, "factor": 1.0, "offset": 0, "frequency": 1, @@ -84,12 +84,17 @@ with this command format: 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. -**parse_payload** - (optional, false by default) if true, the complete payload in the - response message will be parsed as a number and returned in the 'value' field of - the response. The 'payload' field will be omitted in responses with a - 'value'. +**parse_payload** - (optional, false by default) if `true`, the complete payload + in the response message will be parsed as a number and returned in the + `value` field of the response. The `payload` field will be omitted in + responses with a `value`. -**multiple_response** - (optional, false by default) if true, request will stay +**name** - (optional, defaults to nothing) A human readable, string name for + this request. If provided, the response will have a `name` field (much like a + normal translated message) with this value in place of `bus`, `id`, `mode` and + `pid`. + +**multiple_responses** - (optional, false by default) if true, request will stay active for a full 100ms, even after receiving a diagnostic response message. This is useful for requests to the functional broadcast arbitration ID (`0x7df`) when you need to get responses from multiple modules. It's possible @@ -108,19 +113,11 @@ with this command format: **frequency** - (optional, defaults to 0) The frequency in Hz to send this request. To send a single request, set this to 0 or leave it out. -**name** - (optional, defaults to nothing) A human readable, string name for - this request. If provided, the response will have a `name` field (much like a - normal translated message) in place of the request details (i.e. the bus, - id, mode and pid). TODO elaborate on this. - The `bus+id+mode+pid` key is unique, so if you send a create request with that key twice, it'll overwrite the existing one (i.e. it will change the frequency, the only other parameter). To cancel a recurring request, send this command with the frequency set to 0. -TODO it'd be nice to have the OBD-II PIDs built in, with the proper conversion -functions - that may need a different output format - If you're just requesting a PID, you can use this minimal field set for the `request` object: @@ -128,14 +125,24 @@ If you're just requesting a PID, you can use this minimal field set for the ### Responses +The response to a successful request: + {"bus": 1, "id": 1234, "mode": 1, "pid": 5, "success": true, - "negative_response_code": 17, "payload": "0x1234", - "parsed_payload": 4660} + "value": 4660} + +and to an unsuccessful request, with the `negative_response_code` and no `pid` +echo: + + {"bus": 1, + "id": 1234, + "mode": 1, + "success": false, + "negative_response_code": 17} **bus** - the numerical identifier of the CAN bus where this response was received. @@ -166,11 +173,35 @@ Finally, the `payload` and `value` fields are mutually exclusive: The response to a simple PID request would look like this: - {"bus": 1, "id": 1234, "mode": 1, "pid": 5, "payload": "0x2"} + {"success": true, "bus": 1, "id": 1234, "mode": 1, "pid": 5, "payload": "0x2"} + +## Commands + +### Version Query + +The `version` command triggers the VI to inject a firmware version identifier +response into the outgoing data stream. + +**Request** + + { "command": "version"} + +**Response** + + { "command_response": "version", "message": "v6.0-dev (default)"} + +### Device ID Query + +The `device_id` command triggers the VI to inject a unique device ID (e.g. the +MAC address of an included Bluetooth module) into into the outgoing data stream. + +**Request** + + { "command": "device_id"} + +**Response** -TODO again, it'd be nice to have the OBD-II PIDs built in, with the proper -conversion functions so the response here included the actual transformed value -of the pid and a human readable name + { "command_response": "device_id", "message": "0012345678"} ## Trace File Format