Do_Set_Servo in Spray function does not work in 4.0.0

I use the command Spray with SERVO9 (Function 22) for many months with no problems. Until version 3.6.12 it was possible to trigger the servo over a RC channel AND over a direct DO_SET_SERVO9 command.

Now in version 4.0.1, if I try to send a DO_SET_SERVO9 in a mission or a direct command in the Servo/Relay tab of Mission Planner, it does not trigger the servo anymore and I get a “Servo 9 already in use” or a “The Command failed to execute” message

Servo 9

I need to be able to set the spray servo over the DO_SET_SERVO command like before and the “Spray” function must work also over my remote control channel (I use it in manual flights). Is this a BUG? How can this be done in version 4.0.1?

Hi @ulfbogdawa,

Thanks for the report. It looks like we’ve added an extra check to 4.0 (across all vehicles) to protect against DO_SET_SERVO commands being sent output channels unless they are setup as SERVOx_PROTOCOL = 0 or one of the passthrough options (rc1in, etc).

I’ve added this to our 4.0 issues list to restore the ability.

Thank you for your fast reply because this important for us. We are in a very tight situation now. We use 2 CAN Here2 GPSs on our frames and the GPS Blending does not work with 3.6.12 for CAN Here2. It works fine with 4.0.1 but the Spray does not work :frowning:
I´ll wait until this is fixed in order to use 4.0.2.


OK, we’ve created a potential fix for this and it’s going through peer review and if all goes well it will be included in Copter-4.0.3-rc1 in a couple of weeks and then hopefully go out a week after that. When the beta goes out I might ask if you can test it for us to be sure that it’s working.


Please let me know when the beta is out so I can make the tests.