After decoding the servo pulses from the EVO (see previous post), I started working on the telemetry data.
The TX module sends packages of 5 bytes. If no sensors are found, 00 FF 00 00 00 is sent. The use of the first and last byte is not fully known. The second byte is split into two nibbles. The higher one contains the sensor number, the lower one the unit. Unit symbols are:
01: V
02: A
03: m/s
04: km/h
05: rpm
06: °C
07: °F
08: m
09: % Fuel
10: % LQI
11: mAh
12: mL
13: <none>
The next two bytes contain the actual data, 15-bit signed, LSB first and the alarm bit. When set, the display highlights the value and an alarm sounds.
The above sample was created by sending:
00 01 B9 00 00
00 13 EC FF 00
00 22 BC 01 00
When climb rate is shown (line two), one can activate an acoustic feedback (switch I). Two beeps high-high or high-low indicate climb or descent, and the pause between the signals gives an indication of the amount.
And here's a description of the full protocol:
How did I find this? I wrote a small C# application for my PC and instead of mounting a Rf-module, I hooked the connector over a USB-TTL converter (FTDI TTL-232-3V3) to the PC... Using this setup, the PC is emulating the Rf-module. Since this is independent of Multiplex M-Link, my EVO (or should I call it ROYALpro?) is now named S-Link ;-) (Thanks, Michael!)