I would like to fly with live video and goggles, but this makes it tough to make any changes on the mission
planner. To avoid any need to take off the goggles I integrated a series of menus in the OSD.
My setup, as reported here, uses a second APM on the ground.It monitors the MAVLink data stream with an XBee, drives a Remzibi OSD on a second serial port, and supports an Ardustation display and keyboard as a terminal on a third serial port. To make the menu selection as simple as possible I added a quadrature encoder using three of the unused inputs on the Ardustation (nominally the analog inputs, but setup as digital). The A phase of the encoder drives an interrupt, and the resulting ISR examines the A and B phase states to determine which direction the encoder know is being turned. The encoder includes a switch (push the knob in) that is connected to the third input.
The first time the knob is pushed the top level menu is displayed on the top line of the OSD with four selections plus an "exit". Turn the knob to choose the menu item, then push to select. Each selection, in turn, has up to four available menu options. Choices are:
1. Symbology - select between four symbology formats
2. WP - read waypoints from the Ardupilot, set to first WP to restart the mission, next to skip a WP, or previous to move back one.
3. NAV - set Auto, RTL, and loiter modes (yes, easier to use the transmitter control, but I wanted to try out more of the MAVLink commands)
4. Timer - start, stop, and reset a stopwatch timer on the OSD.
The menus are turned off automatically after five seconds of no input.
I find that that this is a fairly easy way to control the system, and it can easily be expanded to include other commands.
All of the symbology is driven with the Remzibi "$M" command strings that are a bit limited in available characters - seems just to be letters, digits, and a couple of others. I can't use the leading and trailing character options for the strings as they take up more space. I would have preferred using something other than "X" to indicate which menu item is being selected, but that was all I could come up with. Hopefully the minimosd will have a more complete set of command strings, or be open source to allow me to improve the presentation.
You can find a video showing the system in operation here. I was in HIL mode so no satellite count, and the GPS time clock has random data (relies on a mod to the GPS library).
Latest code can be found here. It links with the Arduplane 2.27 libraries from the repository.