Custom mixer Payload

Hi Px4 community,

I am currently trying to add a custom payload mixer into Px4. My goal is to control a set of 6 servo motors that close/open and load/unload the payload into the drone with some logic added to it. They are connected to MAIN PWM output(the one from the PX4_IO MCU) and the Drone Motors ESCs to the AUX(or FMU PWM outputs). I want to be able to perform some actions with the servos while the drone is not armed .

My Airframe file looks like this:

Multirotor mixer for PX4FMU
===========================
R: 4+ 10000 10000 10000 0

# Description
#M: <control count>
#S: <group> <index> <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>
# Payload mixer for last two channels
-----------------------------------------------------
# Payload Gate Right-Lift
M: 1
S: 6 1  10000  10000      0 -10000  10000

# Payload Gate Left-Lift
M: 1
S: 6 2  10000  10000      0 -10000  10000

# Payload Gate Right-Lock
M: 1
S: 6 3  10000  10000      0 -10000  10000

# Payload Gate Left-Lock
M: 1
S: 6 4  10000  10000      0 -10000  10000

I followed the manual https://dev.px4.cc/master/en/concept/custom_mixer_payload.html.

For testing I created a simple app that publishes to the actuactor_controls_6.

Anyway on the mavlink inspector I only see PWM changes when in armed state.

Here is the listener output:

pxh> listener actuator_controls_6

TOPIC: actuator_controls_6
 actuator_controls_s
    timestamp: 81176000  (142.648000 seconds ago)
    timestamp_sample: 0  (81176000 us before timestamp)
    control: [-0.5000, -0.5000, -0.3000, -1.0000, 0.0000, 0.0000, 0.0000, 0.0000]

and here the uORB status

pxh> uorb status
TOPIC NAME                         INST #SUB #Q SIZE PRIO PATH
actuator_armed                        0    7  1   24   75 /obj/actuator_armed0
actuator_controls_0                   0    9  1   48   75 /obj/actuator_controls_00
actuator_controls_6                   0    1  1   48   75 /obj/actuator_controls_60
actuator_outputs                      0    5  1   80   75 /obj/actuator_outputs0

So my question is how to control the servos when disarmed ?

Hi this issue was solver under Slack.
For reference: COM_PREARM_MODE needs to be set to “always”.