I might be able to help. But this can be very complicated. Also, my examples come from a 2009 truck. This
might be the same for your 2020, but it might not. Hopefully the person installing the tacho will be able to use it as a starting point. If you can give us a sample of your van's CAN data, we might be able to be much more helpful. It doesn't have to be a lot. You can drive across a parking lot and that will be enough data. Start your log while you're not moving. Accelerate to a safe and legal speed. Press the brakes and come to a stop again. End the log.
Here is what I found on my truck.
Brake on/off is pretty easy. The CAN ID is 0x0C9. Watch the sixth byte. It will change by 1 when the brake is on. Like so:
0x0C9 84 0B F4 0D 00
40 08 - Brake off
0x0C9 84 0B CC 00 00
41 08 - Brake on
Engine RPM is also in 0x0C9. You use the second and third bytes. Convert them from hexadecimal, to regular decimal. You can use a calculator like this:
https://www.rapidtables.com/convert/num ... cimal.html
Hex digits 0BF4 converts to decimal 3060. 3060 multiplied by 0.25 is 765.
0x0C9 84
0B F4 0D 00 40 08 - 0BF4 = 3060. 3060 * 0.25 = 765 rpm
0x0C9 80
14 21 13 04 40 08 - 1421 = 5153. 5153 * 0.25 = 1288 rpm
Vehicle speed is in 0x3E9. You want the first and second bytes. Convert from hex to decimal, multiply by 0.01 to get mph. You can multiply mph by 1.609 to get kph.
0x3E9
03 40 0A 95 03 00 40 00 - 0340 = 832. 832 * 0.01 = 8.32 mph. 8.32 * 1.609 = 13.39 kph
0x3E9
0B 0B 11 5B 0A 80 40 00 - 0B0B = 2827. 2827 * 0.01 = 28.27 mph. 28.27 * 1.609 = 45.49 kph
antus wrote:I have been reading a bit about obd2 and what they call canbus. They are the same thing, technically, but what people tend to mean is obd2 - poll for pids to get the data. This is standardised and not hard to find, but its also slow. It'll work but the tacho would be more laggy than if you did it the other way. when they say canbus, what they mean is reading the broadcast data in the propriety format from the data broadcast on the bus. It means you dont have to poll (only filter) and get more frames per second, reducing in less lag in the tacho. This is how the factory dash would do it, and it will be a better result if you can find the data. This is why he would want this.
Some or all of the information required might be in this document. Look at the worksheets down the bottom to try and find the relevant bit.
http://is.gd/gmlanbible
The GMLAN bible is great for what it is, but it doesn't have anything for the high speed (2 wire CAN) GMLAN stuff. I'm going to guess our friend's tachograph doesn't have the hardware to read low speed (single wire CAN) GMLAN anyway.
Some GM DBCs showed up on CommaAIs github page. Their high speed stuff is incomplete and seems to have some errors, but the low speed stuff has been a goldmine. I've applied it to samples I have from a couple different cars and trucks and I haven't found a single message that's not in that DBC. Check out the Cadillac and GM Global A files here:
https://github.com/commaai/opendbc
I've also found some docs that map GMs older class 2 bus to some SAE standards. There's still plenty of proprietary messages mixed in, but it's given me enough info to do some useful things.
Most of this stuff is dying off starting with cars that are all-new for 2020. C8 Corvette, CT5, etc. It's all higher speed, multiple CAN buses, with some automotive ethernet mixed in. It's also firewalled from the diagnostic port by a gateway module, and it looks like the CAN messages may have some kind of authentication mechanism added to them. They're trying to tighten up security now that they're implementing more in depth OTA services.