Page 1 of 1

RS232 output of EMS data from Extreme EMS

Posted: Tue Nov 22, 2022 9:18 am
by jtaviator
Hi and greetings from the UK.

I was wondering if it could be possible for one of the RS232 interfaces on the Extreme EMS could be programmed to send out all the EMS data. I am thinking of using a small tablet to display the EMS information (with some external programming (by me) to interrogate the RS232 and display on the screen).

I am shortly to be starting a new project with a Rotax 915iS and would like to use the MGL RDAC & EMS.

Re: RS232 output of EMS data from Extreme EMS

Posted: Tue Nov 29, 2022 3:07 pm
by bruceme
You can splice the transmit signal from the RDAC (pin 4) and get the data off that. MGL made the protocol public (only mfg to do so), it sends all the engine data 10x a second in a 68-byte binary message. It's all in the protocol doc linked below. You'll want to make sure you get an RS232 to TTL converter if you're going to be connecting it to any device that doesn't already have it. RS232 != TTL/UART which is what most signal processing devices are.

https://support.michiganavionics.com/po ... nline=true

https://www.amazon.com/s?k=TTL+to+RS232 ... _sb_noss_1

Good luck!

-Bruce

Re: RS232 output of EMS data from Extreme EMS

Posted: Tue Nov 29, 2022 3:20 pm
by bruceme
If you do decide to implement a reader for the messages, the CRC algorithm is undecipherable... here's what in the docs

CheckLow: Data integrity checksum. Modulus 256 addition of all bytes between and
including ID and the last byte before CheckLow. The value $55 is then added to this, also
modulus 256.

CheckHigh: Data integrity checksum. Modulus 256 addition of all bytes between and
including ID and the last byte before CheckLow. The value $AA is then added to this, also
modulus 256.


If you follow that verbatim... first, it makes no sense (byte[2] + byte[3] +...byte[64] + 0x55) then the same summation except + 0xAA that's a redundant checksum, and second, it doesn't work either. The real checksum is something like word[1]^word[2]^...^word[32]^0xAA55. I think that's closer to what it should be, but I couldn't get that to work either... so good luck.

MGL, some clarity here would be greatly appreciated, even some sample pascal code (I was a Delphi programmer once too) would be greatly appreciated. The V16 docs are clearer and have a simpler 8-bit XOR CRC which is mostly straightforward.

-Bruce

Re: RS232 output of EMS data from Extreme EMS

Posted: Fri Dec 02, 2022 5:24 pm
by jtaviator
Hi Bruce,
Thanks for the info. I plan to use the MGL RDAC CAN 912iS to connect to the Rotax 915. I will then connect this RDAC via the MGL CAN to a XTreme-EMS (Engine Monitor only). If I understand you correctly if I splice in a TTL to RS232 convertor into the MGL CAN the data that goes to the EMS will also appear on the RS232 bus? I then only need to read it and process it to get the data I need?

Re: RS232 output of EMS data from Extreme EMS

Posted: Fri Dec 02, 2022 5:55 pm
by bruceme
Per the documentation, the MGL RDAC CAN 912iS does not have a RS232 output;

DB9 connector
1 Ground
2 +12V
3 No connection
4 No connection
5 No connection
6 CAN EFIS Low
7 CAN EFIS High
8 CAN ECU Low
9 CAN ECU High

Now, that being said... I do see they printed RS232 TX for pin 4 on the sticker outside the box. So they may say it's not connected, but it may be. The best way to find this out would be to throw a multi-meter on it and see if it has a voltage, it may bounce a lot cause it's a signal.

If it's there... your plan is "good to go" if it's not, then you'll need to get a CAN to USB converter
https://www.amazon.com/s?k=can+to+usb+converter

You'll then implement the CANBus version of the messages (which is very similar to RS232). Now the CAN option will work regardless and it's documented, so if this where me, I'd do that in your situation regardless.

Good luck! let me know how it comes out.