This is traditionally done in two ways by most engine controllers:
1. Proprietary high speed data protocol using CANbus as a link layer
2. Implementation of the SAE OBD2 Protocol, which specifies a higher level standard for retrieval of engine data, diagnostic states and other data.
1 is going to be much easier
2 will open the door for standard OBD2 scantools to communicate
Both involve coding and translating data stored from one internal format to another.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Proprietary internal communication - it's an open question why would we need it, what are the legit use-cases? We already have a small & ugly implementation for some instrument clusters. Are there any realistic use cases other than this one?
This is probably more useful. My uber-cheap scanner Autel MaxiScan MS300 CAN Diagnostic Scan Tool claims CAN support so at least I have the hardware to test this. And we already have some OBD-II error codes handling (malfunction_central.c etc)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm a little strapped for time right now. I don't have time to help with
implementing the OBD2 protocol over CAN right now. :( I have a friend
that did so and it's not trivial. It's also not super difficult - mostly a
matter of obtaining and reading the specification and writing code to
respond to different kinds of requests in different ways. Might be worth
looking to see what kind of existing open source code (if any?) exists for
this in the sphere. I'll try to see if I can find any of the appropriate
standards for the OBD2 CAN communication so they can be referenced for
implementation.
--- old+++ new@@ -1,3 +1,5 @@
We should publish current engine state into CAN bus
See https://sourceforge.net/p/rusefi/tickets/21/
++See http://rusefi.com/forum/viewtopic.php?f=5&t=959
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is traditionally done in two ways by most engine controllers:
1. Proprietary high speed data protocol using CANbus as a link layer
2. Implementation of the SAE OBD2 Protocol, which specifies a higher level standard for retrieval of engine data, diagnostic states and other data.
1 is going to be much easier
2 will open the door for standard OBD2 scantools to communicate
Both involve coding and translating data stored from one internal format to another.
Proprietary internal communication - it's an open question why would we need it, what are the legit use-cases? We already have a small & ugly implementation for some instrument clusters. Are there any realistic use cases other than this one?
This is probably more useful. My uber-cheap scanner Autel MaxiScan MS300 CAN Diagnostic Scan Tool claims CAN support so at least I have the hardware to test this. And we already have some OBD-II error codes handling (malfunction_central.c etc)
I'm a little strapped for time right now. I don't have time to help with
implementing the OBD2 protocol over CAN right now. :( I have a friend
that did so and it's not trivial. It's also not super difficult - mostly a
matter of obtaining and reading the specification and writing code to
respond to different kinds of requests in different ways. Might be worth
looking to see what kind of existing open source code (if any?) exists for
this in the sphere. I'll try to see if I can find any of the appropriate
standards for the OBD2 CAN communication so they can be referenced for
implementation.
-Dave
On Mon, Jan 6, 2014 at 10:53 PM, Andrey B rusefi@users.sf.net wrote:
Related
Tickets: #30
See also https://sourceforge.net/p/rusefi/tickets/207/
Diff: