Arm/Disarm Switch directly on Boat

Hello. I would like to be able to arm/disarm the boat by just pushing a button (on the boat) when I’m out on the water. Then the boat should go directly into LOITER mode.
The idea is not having to use a RC or MP to do this.
Is there a a set that makes this possible? Maybe even just using the safety Switch?
By the way: Great work on ArduRover 4.0! Very impressive.

I would have suggested that you set ARMING_REQUIRE to disable (0), INITIAL_MODE to Loiter (5) and then use the safety switch to enable the outputs. But when I try this on the bench it produces a “flight mode changed failed” error with “unknown” showing in the Mission Planner HUD for selected flight mode. I don’t now why this is.

Thanks for the reply Dave. I will try this approach and see what I can come up with.

Let me know how it works out. I think mine wouldn’t start in loiter because there was no GPS connected. Might work for you!

I’m thinking of using a start/stop switch as seen here:
The idea is I plan a mission with “Loiter_Unlimited” and put the boat in “Auto” mode.
Then when the switch is set it starts the mission (straight to Loiter-Unlimited).
The one thing I can’t fully visualize is what “Port” to use (I use a Pixracer).
Can someone help with this?

I’m not in front of my Rover, which also has a Pixracer, but maybe you can configure the auto trigger pin to one of the 6 outputs. The 6 Pixracer outputs correspond to the 6 Aux outputs/inputs on Pixhawk. So pick an unused one and try the switch. I’m curios so I’ll give this a try when I’m back home.

OK, the Auto start pin works. Let’s say you want to use Motor Output 6 as a trigger input on the PixRacer. 1st set BRD_PWM_COUNT to 5 so chan 6 can be used as GPIO. Then set AUTO_TRIGGER_PIN to 55 which is channel 6 on PixRacer. Then wire a toggle switch with chan 6 signal and ground. Bring the signal low (to ground) to enable the motors, open to disable.

Hey Dave! Finally back at it after some time off… I have followed your advice, but running into a bit of a problem.
even though I have set the initial mode to auto it seems to start off in Hold. It might have something to do with not having a “proper” mission with waypoints loaded etc . see: [ArduRover] AUTO Mode switching to Hold Mode?
Just to clarify on what I’m trying to achieve: tow a floating platform with a skid steer setup soemwhere on to a lake, then hit the safety switch and initialize the Auto mode, so that it basically goes straight into Loiter whereever it is. (actually I would like for it to do nothing for 10 seconds and then go into Loiter).
I guess you need to tell the mission to grab some coordinates of the current position , then do Loiter at that position. Would you know how that would look like?

You will need a Mission loaded for it to switch to Auto. I’m not clear of the sequence of events. What do you need an Auto Mission for if you are going to hit the enable switch after it’s positioned? I must misunstand but why not drive it manually to the position and switch to Loiter mode? The only way to program coordinates from a current position is with the “Learn Waypoint” feature.

BTW-We are not talking about the safety switch but another switch connected to GPIO pins.

Yes, of course, we are talking about a Start/Stop switch. I did upload a Mission on to the AP and checked to make sure it was there (READ).
The reason why we don’t manually drive the USV to the location is because sometimes the location is too far away and we have to do a high speed tow there. I will read into the Learn Waypoint feature. Thanks!