Typically you're on a track and you want to dodge something. Flick to compass mode, adjust heading, and when you're clear of the obstacle you go back to the track.
The original raymarine user interface I'm used to has three main modes. Standby, Auto (=compass) and Track (=gps). All these modes accessible with one push on the tiller pilot buttons. The track mode steers towards the APB or RMB message.
While we are at it, in fact there is another mode, which is 'waypoint advance'. The machine sounds an alarm and will maintain the current course until you actively acknowledge you agree with the heading change towards the next waypoint. Took me a while to get my head around, but I got to value this as a very useful, not to say absolutely vital safety measure. I would love to implement a waypoint arrival alarm for pypilot at the very least, otherwise using the track mode is not a safe option for me.
Come to think of it, processing the Arrival Alarm bit of the APB message in nmea.py, and forwarding it to a GPIO pin with a piezo buzzer on it would do the trick. Otherwise one would have to process the RMB message as well and use the Range to Destination for this. When arriving, set ap.mode to compass, and set it back to gps when the alarm is acknowledged.
The original raymarine user interface I'm used to has three main modes. Standby, Auto (=compass) and Track (=gps). All these modes accessible with one push on the tiller pilot buttons. The track mode steers towards the APB or RMB message.
While we are at it, in fact there is another mode, which is 'waypoint advance'. The machine sounds an alarm and will maintain the current course until you actively acknowledge you agree with the heading change towards the next waypoint. Took me a while to get my head around, but I got to value this as a very useful, not to say absolutely vital safety measure. I would love to implement a waypoint arrival alarm for pypilot at the very least, otherwise using the track mode is not a safe option for me.
Come to think of it, processing the Arrival Alarm bit of the APB message in nmea.py, and forwarding it to a GPIO pin with a piezo buzzer on it would do the trick. Otherwise one would have to process the RMB message as well and use the Range to Destination for this. When arriving, set ap.mode to compass, and set it back to gps when the alarm is acknowledged.