Pixhawk 2 custom mixer failure to output PWM

Hi,

I am working on a drone with Pixhawk 2. I would like to command 8 control surfaces (rudders and elevons) through the 8 main PWM outputs. The 8 servos commanding control surfaces are implemented in a mixer file.
However, I have only the 7 first PWM outputs working. The 8th one does not send any PWM signal.

If I write “listener actuator_outputs” in MAVLINK terminal, I get this :

I see there are 8 outputs but only seven sending a non-zero value.

Moreover, if I check the IO (servos are on main outputs so controlled by the IO), I have this :


image

I think it can be a problem with the IO buffer. I tried to change PX4IO_MAX_MIXER_LENGTH (in src/drivers/modules/px4iofirmware) but it does not make the 8th output work.

Do you have any idea where it comes from ?

Thanks,

Rem

Do you have an extra newline at the end of the mixer file?

Yes I have a newline at the end but I can’t get rid of it. If I remove it, it reappears when I save the mixer with (Ctrl + S).

I have also noticed that if I set a too low value for PX4IO_MAX_MIXER_LENGTH, some other PWM outputs are disabled. But even if I increase it, the 8th output never works.

You actually need the extra newline as far as I remember.

If you send me the mixer file and the steps that you did, I can try to reproduce this.

The main mixer looks like that :


The aux looks like :
image

As I have a Pixhawk 2, there were not enough aux PWM outputs so I also modified rc.interface to invert main and aux outputs. The result is that the main mixer is on IO and the aux is on FMU.

FMU controls the motors via UAVCAN and IO controls servos via main PWM outputs.

Here are the modifiations in rc.interface :

  1. Change the aux output to main pins :
    image

  2. Comment these lines :

And put them after :

  1. Change these lines from

to

All changes are between hash-keys.

Thank you for your help !

The way to share code or a changes is using text or text files or diff files. Screenshots are hard to deal with.

If you can create a minimal diff which would allow me to reproduce it on a Pixhawh (without uavcan and whatever other changes you did) then I can try this, otherwise it would take me way too long, sorry.

Ok sorry, you can fin the files at this link : https://we.tl/t-ug4hDPHB23

You will find the airframe, the two mixer files, the original and modified rc.interface files and a diff rc.interface_diff file.

Thanks again for your time !