I’m currently developing a custom retrofit cluster with an ESP32. For reading the EMU serial stream I’m using the EMU serial protocol. There is a nice library on GitHub for reading the stream as well as for the CAN stream - but not for the EDL-1 type stream.
I’d like to use an EDL-1 in parallel with my digital cluster, but I can’t find any information about the format of the stream. Any suggestions? Is it possible to get detailed information about the EDL-1 data stream? Otherwise I would have to choose either the EDL-1 or the cluster And I don’t want to reverse engineer the data stream if not necessary.
Update: I’m on it reverse engineering the protocol. So far I managed to capture some data from both Serial protocol and EDL-1 protocol, compared the streams and found a structure.
Things I’ve found out so far about EDL-1 protocol:
115200 baud, old serial protocol is only 19200 baud
one frame is 260 bytes long
first 4 bytes do not change at all (32 40 50 60)… could be some kind of start frame marker
to 260. bytes are data like described in the version XML file of the EMU firmware. same with length, divider, datatype
byte order is little endian
So you can see for example byte 7 and 8 are RPM. It’s 2 bytes because the variable type is word. In the second screenshot down below I marked the frame where my engine was starting. Hex data for RPM in line 170 is 86 00. Because of LE we have to swap bytes around → 00 86 → DEC 134. As divider for RPM is 1 this is already our final number.
Second example, Batt on line 170 is LE 41 01 → BE 01 41 → DEC 321 → divided by 37 is 8,675V (yes I know it’s low, engine is cranking).