summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Peplin <chris.peplin@rhubarbtech.com>2014-03-26 13:57:36 -0400
committerChristopher Peplin <chris.peplin@rhubarbtech.com>2014-03-26 13:57:36 -0400
commitab912b63e81209637f77f2e3eba23c5e75309dcb (patch)
treeffb7ed91bd0292097bb201d61d3505c371be4ad9
parentf1c1af529c32284c6b81a6ba4fcada464ce4401f (diff)
Clarify how diagnostic requests are identified, updated and cancelled.
-rw-r--r--README.md24
1 files changed, 19 insertions, 5 deletions
diff --git a/README.md b/README.md
index aa44b05..f67dad9 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,8 @@ with this command format:
in the VI for longer.
**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.
+ request. To send a single non-recurring request, set this to 0 or leave it
+ out.
**decoded_type** - (optional, defaults to "obd2" if the request is a recognized
OBD-II mode 1 request, otherwise "none") If specified, the valid values are
@@ -105,10 +106,23 @@ OBD-II mode 1 request, otherwise "none") If specified, the valid values are
OBD-II specification and returned in the `value` field. Set this to `none` to
manually override the OBD-II decoding feature for a known PID.
-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.
+A diagnostic request's `bus`, `id`, `mode` and `pid` (or lack of a `pid`)
+combine to create a unique key to identify a recurring request. This means that
+you cannot simultaneosly have recurring requests at 2Hz and 5Hz for the same PID
+from the same ID.
+
+If you send a new `diagnostic_request` command with a `bus + id + mode + pid`
+key matching an existing recurring request, it will update it with whatever
+other parameters you've provided (e.g. it will change the frequency if you
+specify one).
+
+To cancel a recurring request, send a `diagnostic_request` command with the
+matching request information (i.e. the `bus`, `id`, `mode` and `pid`) but a
+frequency of 0.
+
+Non-recurring requests may have the same `bus+id+mode(+pid)` key as a recurring
+request, and they will co-exist without issue. As soon as a non-recurring
+request is either completed or times out, it is removed from the active list.
If you're just requesting a PID, you can use this minimal field set for the
`request` object: