raspberry-sbus icon indicating copy to clipboard operation
raspberry-sbus copied to clipboard

SBUS2 Telemetry

Open Carbon225 opened this issue 3 years ago • 0 comments

SBUS2 is just sbus but with added telemetry similar to f.port. From what I've read it looks like this:

[0-23] - Normal sbus frame
[24] - sensor slot range identifier (instead of 0x00 frame end marker in sbus)
next, up to 8 sensor slots where each is:
[0] - slot id (sensor type?)
[1-2] - data (little or big endian depending on the sensor)

The 'slot range identifier' specifies which 8 of the 32 total slots can be transmitted next.

0x04 - slots 0-7
0x14 - slots 8-15
0x24 - slots 16-23
0x34 - slots 24 - 31

During the telemetry period, a sensor calculates the current slot id from the slot range identifier byte + elapsed time/slot time (roughly). If the slot id matches the sensor's id, it sends 3 bytes of data (first one being sensor id or something like that). It's most likely impossible to implement sending such a protocol with all the kernel abstractions, but just monitoring an external connection should be possible.

The sbus2 branch has all the code already, I just need to try it on real hardware.

Carbon225 avatar Jun 22 '21 07:06 Carbon225