I know how to use Graupner SUMO, but I would like to try SUMD with 3.2.1.

I found PX4 SUMD which I thought would be similar and therefore I connected the Spektrum/DSM port of the Pixhawk with GND and signal only to the Graupner RX port 8. I didn't connect Vcc because its 3V3 at the Pixhawk and I use 5V. Didn't work, any ideas ?

Views: 5499

Reply to This

Replies to This Discussion

we need software support for it...

I just recently got this working, with a GR-12L. For that, port 6, interestingly enough with a 12 channel TX the SUMD output is all 12 channels. The pixhawk does seem a bit picky with the signal, picking it up better at or just after boot than when it's been on for a little while. Signal goes to the pin in the red arrow below, middle pin ground. I rewired the inside so it's on the S.BUS connector, since I'm not using that, and it makes for a simpler connection of power and data. This also shows telemetry connected on Serial 4, which kind of works on the GR-24L, but not at all on the 12L. I have yet to go try the 24L again, which has more SUMD options. The code seems to support the HD as well, and up to 32 channels.

A useful command for the shell (Serial 5, on a radio in the picture) is "px4io status" and/or "px4io monitor". That code was missing some flags to indicate SUMD connection, but it doesn't seem to to effect whether SUMD is decoded (still looking into that). Those commands are reading data/flags from the code that decodes SUMD, it is in there!

I whipped up a Qt5 app with the PX4 SUMD code, and it does flawlessly decode from the 12L, still need to check the 24L. I kind of got sidetracked to another small Qt app to test telemetry.


I will gladly commit some code when I know it's working, but for now, here is three lines that are missing :

PX4Firmware/src/drivers/px4io/px4io.cpp :

middle line, around line 2078:

           ((flags & PX4IO_P_STATUS_FLAGS_RC_ST24)   ? " ST24" : ""),
           ((flags & PX4IO_P_STATUS_FLAGS_RC_SUMD)   ? " SUMD" : ""),
           ((flags & PX4IO_P_STATUS_FLAGS_RC_SBUS)  ? " SBUS" : ""),

and the last half of this, at line 2634:

            } else if (status & PX4IO_P_STATUS_FLAGS_RC_ST24) {
                rc_val->input_source = RC_INPUT_SOURCE_PX4IO_ST24;

            } else if (status & PX4IO_P_STATUS_FLAGS_RC_SUMD) {
                rc_val->input_source = RC_INPUT_SOURCE_PX4IO_SUMD;

If anyone else wants to try that mod... removing the resistor (220 ohm 0402 in case you lose it like I did) pointed at by the red arrow below, breaks the internal S.BUS connection. I did have access to hot air rework station and a microscope...

And then a jumper wire on the other side of the board

That connector is already powered from the servo rail.

It seems that the latest master branch (3.4) is required, even 3.3, and 3.2.1 don't appear to have it in there.

It doesn't look like those edits are required for it to work, it just reports better. But I have tested more, and it's ALL working!

With MZ-24

GR-12L : Only option is SUMD, 12 channels are transmitted.

12 raw R/C inputs 1497 1499 1000 1502 1500 1500 1500 1500 1500 1500 1515 1500

GR-24L : SUMD OF/FS/HD all work, the number of channels selected do show up, even with 16 selected on 12 channel TX.

16 raw R/C inputs 1499 1005 1503 1497 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500

And I'm making progress on telemetry, which leads to at least one question ...

That TX are people using?

I'm basing the telemetry work on the MZ-24 I have, with graphics screen, I know there are text based screens out there, not sure what they show. I have 5 modules listed for reporting - General, Electric Air, Altimeter, GPS, ESC. There appears to be far more parameters in each "message" than are displayed on the screen. Ultimately I'd like to see all the ones shown reporting some data, a bit of it may be redundant from screen to screen (lacking individual modules/sensors). I just got all 5 to report "on".

Any news about this topic?

I must decide if stay with FrSKY (X8R) and X9E transmitter (leaving an X9D+) using all the channels from RX to Pixhawk using Sbus, or go with Graupner MZ-24 and GR-24, but I don't understand how to use all the 12 channels of the TX/RX on the Pixhawk...

The "L" receivers are cheaper, simpler versions of the normal receivers , you can use a standard GR-16 ,still with two receivers /antennas, then you select SUMO xx (the channel count you like), and sumo is normal PPM, that just works.

SUMD is a digital way of providing ppm , even faster. But AFAIK noone made pixhawk support it.

Thanks Andre, this means that I can forward all the 12 channels of the MZ-24 using just 1 servo wire to the Pixhawk, like with the FrSKY Sbus?

Correct :) , and the physical remaining PWM outputs of a gr-16 can output any channels you want, not necessarily 1...7

What if I must send 12 channels to Pixhawk? What about telemetry?

SUMO can output 12 channels just fine (on any non-L receiver, )

As for HoTT telemetry and ArduPilot,  check outhttp://madhacker.org/mavlink-to-hott-adapter/


I had some problem to have a GR16 working with Pixhawk and ArduPlane 3.7.1. It was OK with a GR12L, but not with a GR16.

I want to use a GR16, even more expensive, to be able to use this mavlink to hott converter

with all features.

For the GR16 I use the SUMDOF08 setting.

But I was not able to get the Pixhawk out of Failsafe.

After a dive into the SUMD protocol specification, after having analysis GR12L and GR16 output signal with a ftdi cable 'usb to serial converter) and a serial analyser (moserial under linux) I found a difference between GR12L and GR16 :

At power up, GR12L doesn't transmit any frame up to Tx/Rx link establishment

At power up, GR16 transmit SUMD frame with Failsafe SUMD Header up to Tx/Rx link establishment. After this establishment, if the link is broken, the GR16 doesn't transmit any frame.

I've to stop here my reply, I come back in a few minutes.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service