Hi Coline, thank you very much, I found out that, 500, was the neutral value as you said. My problem was that the behaviour in manual mode was different and confused me.
Now I can control the drone (in the simulator) using the manual_control message and the POSCTL flight mode, as expected.
The only dubt now, is about tha yaw. In the message description says:
R-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a twisting of the joystick, with counter-clockwise being 1000 and clockwise being -1000, and the yaw of a vehicle.
To me it’s not clear the corresponding degree value. I mean, is 1000 corresponding to a 360° yaw or what?
And [-1000,1000] is the real range of values? (the message description says -1000,+1000 even fro the ‘z’ but the right range is 0-1000)
Do you have an idea?
As explained here: https://dev.px4.io/en/concept/flight_modes.html, the r value passed in manual control corresponds to a yaw rate.
From the parameters documentation (https://docs.px4.io/en/advanced_config/parameter_reference.html#multicopter-position-control), it looks like the yaw rate input is linearly mapped by default (MPC_YAW_EXPO is set at 0).
Moreover the MPC_MAN_Y_MAX, max manual yaw rate, is set at 200 degrees per second by default. My guess is that +500 corresponds to 100deg/s and +1000 corresponds to 200deg/s, but you’d have to check experimentally or look at the code to see if it’s actually the case.
I am having the same problem except using python. I tested the code below with latest Arduplane and this code will drive a servo. When I go to px4 1.9.2 I don’t see my servo moving. I tried manual, stabilized, and ratti.
master = mavutil.mavlink_connection(opts.device, baud=opts.baudrate)
master.mav.rc_channels_override_send(0, 0, 1300, 1500, 1500, 1500, 1500, 1500, 1500, 1500)