Interesting, but do we have the processing power and memory to run this in real time?

We're hopefully on the cusp of an explosion of new BEVs, which potentially need support from a device such as OVMS, so building in a more generic CAN decoder engine could facilitate that support much more easily.  But, how different are the cars within each manufacturer?  Is the GM Volt's EV-related metrics that different from the Bolt EV?  "Conway's Law" * tells me that they will be, but what have we seen?  Roadster 1.5 vs 2.0 vs 2.5 are very similar, I think.  Leaf 1 vs Leaf 2 - also pretty close, right?  How will Ford's offerings work?  WAG, Jaguar, and all the Chinese mfgrs etc. are just getting started.  Is this problem sufficiently bound in scope that we don't need to get too exotic with the decoders?

Greg

* Conway's Law states that the structure of a product matches the structure of the organization that invented it.  Two cars, from two different divisions, would therefore have different CAN bugs messages, unless a lot of energy was put into standardizing them internally.


Michael Balzer wrote:
P.S. I’ve always thought that long-term, descriptor files (rather than individual vehicle modules) is a better way to go for what we are trying to do (map bits of can bus messages -> metrics). Something that says ’v.bat.soc’ is bus #1, ID 0x100, B1=0x80, data byte #2, as uint8_t - rather than code to extract that. Doing it that way means no coding (just reverse engineering), and it is bi-directional (great for simulators).
ddt4all (proprietary DDT2000 XML based) as well as CANZE follow this
generic approach. A DDT specification file defines device addressing,
data types, requests/responses and screens.