summaryrefslogtreecommitdiffstats
path: root/openxc.proto
diff options
context:
space:
mode:
authorChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:47:09 -0400
committerChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:48:49 -0400
commit625dae730013a4c59a1bd0bacc1f743676274e24 (patch)
treecc1316839151028e49714d3999c2f9e27ef196ee /openxc.proto
parentee93c3b20add6fb1bfda64a70c8d8325e3c138d7 (diff)
Add passthrough command and refactor commands in binary format.
The ControlCommand is now more like a VehicleMessage - it has a 'type' and many optional fields pointing to the various types. If the type is diagnostic, the client should look at the diagnostic_request field.
Diffstat (limited to 'openxc.proto')
-rw-r--r--openxc.proto30
1 files changed, 26 insertions, 4 deletions
diff --git a/openxc.proto b/openxc.proto
index 937fe186..fd61b6c8 100644
--- a/openxc.proto
+++ b/openxc.proto
@@ -22,12 +22,34 @@ message RawMessage {
}
message ControlCommand {
- enum Type { VERSION = 1; DEVICE_ID = 2; DIAGNOSTIC = 3; }
- enum Action { ADD = 1; CANCEL = 2; }
+ enum Type {
+ VERSION = 1;
+ DEVICE_ID = 2;
+ DIAGNOSTIC = 3;
+ PASSTHROUGH = 4;
+ }
optional Type type = 1;
- optional DiagnosticRequest diagnostic_request = 2;
- optional Action action = 3;
+ optional DiagnosticControlCommand diagnostic_request = 2;
+ optional PassthroughModeControlCommand passthrough_mode_request = 3;
+}
+
+message DiagnosticControlCommand {
+ enum Action { ADD = 1; CANCEL = 2; }
+
+ optional DiagnosticRequest request = 1;
+ optional Action action = 2;
+}
+
+message PassthroughModeControlCommand {
+ enum PassthroughMode {
+ OFF = 1;
+ FILTERED = 2;
+ UNFILTERED = 3;
+ }
+
+ optional int32 bus = 1;
+ optional PassthroughMode mode = 2;
}
message CommandResponse {