MIS_DONE_BEHAVE Not Working?

We’re currently running ArduRover on a large UTV through MAVROS, and while the overall functionality of it is great at this point in time, for whatever reason the Rover won’t enter into Hold mode at the end of a Mission, and instead stays in auto. I have my MIS_DONE_BEHAVE parameter set at 0. We really need the machine to go into Hold at the end of a mission.

Are there other reasons that you guys know of as to why this mode change might be blocked? I’m seeing nothing in the messages screen, only that the Mission has completed.

In case more information is needed, we’re using MAVROS to talk to our own ROS based controller and CAN actuators on the machine via monitoring the RCOUT channels on the PixHawk. Manual control is achieved through a USB joystick (Logitech). Not sure if any of this might affect things.

Thanks for any help!

Its switching to doing the hold functionality within auto mode rather than switching to hold mode explicitly. The inclusion of acro is a little confusing. The options should be do a hold, do a loiter or switch to acro mode. It holds or loiters with in auto mode.

Any reason why being in hold mode is better than just holding in auto? If using ROS is should be quite easy to check if the mission is completed or not without having the mode change.