Remzibi OSD + APM Integration

I finally got my mods to a point where I'm comfortable with others testing. I've only been using it with XPlane seen as it is so dang cold and snowy outside. You need to define OSD_PORT and OSD_MODE_CHANNEL. OSD_MODE_CHANNEL will allow you to assign a toggle switch to turn on and off the OSD overlay while in the air.

 

Some of the features included:

  • Auto-home saving from init_home()
  • Distance and direction to home
  • Artificial horizon
  • GPS LAT & LONG
  • Control mode and next waypoint + distance (working on relaying takeoff, land, etc messages)
  • Overlay on/off via Tx switch

Here are the Remzibi Mods:
+----------------+
|  APM_Config.h  |
+----------------+
#define OSD_PROTOCOL        OSD_PROTOCOL_REMZIBI
#define OSD_PORT            3
#define OSD_MODE_CHANNEL    7

+---------------------+
|  ArduPilotMega.pde  |
+---------------------+
Medium loop, case 3:
#if OSD_PROTOCOL != OSD_PROTOCOL_NONE
        print_osd_ahrs();
#endif

Slow loop, case 1:
// Output OSD Data slow loop
#if OSD_PROTOCOL != OSD_PROTOCOL_NONE
        print_osd_data();                       
#endif

// Read OSD Mode Switch
#if OSD_PROTOCOL == OSD_PROTOCOL_REMZIBI
        read_osd_switch();
#endif

+---------------+
|   defines.h   |
+---------------+
After GPS type defines:
// OSD type codes
#define OSD_PROTOCOL_NONE       -1
#define OSD_PROTOCOL_REMZIBI     0

+----------------+
|  commands.pde  |
+----------------+
After line 251, bottom of init_home():
// Save Home to OSD
// ----------------
#if OSD_PROTOCOL == OSD_PROTOCOL_REMZIBI       
        osd_init_home();
#endif

 

And finally add the following file into your APM folder:

OSD_Remzibi.pde <-Version 1

OSD_Remzibi.pde <-Version 2

 

And for my Remzibi layout:

APM.bin

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Would be nice to have it in the official release.
  • hey it works!!! had to upload ardupilot version of OSD firmware. I too connected ground, tx and rx. Great job Blake!
  • Power does not seem to work for me but I did connect rx, tx and ground.
  • Do i hook up TX of APM's telemetry port to OSD's RX and connect grounds?
    Can I skip power and RX of APM to TX of OSD?
  • This is huge for me!. However I use Rangevideo Gen4 OSD, but am on the same track wanting to intigrate it too. There are several inputs on it, including the two xyz thermopile ports, AUX input, as well as the GPS, and IR port to possibly utilize. And given the history of rangevideo, it will be 2012 before the gen5 imu comes out :) So I've got some time lol. Right now I've got the whole schebang setup as a redundant autopilot inline with the APM.
  • I was going to ask, if we sacrifice onboard DF *(or better yet share) can we use Serial 2 for OSD output?
  • Moderator
    I've got an Xbee connected to the telemetry port, is there another port I can connect the OSD to?
  • The usb idea seems interesting indeed.
    Anyway, just tried th telem port and managed to get OSD to work through that .. nice !
    Powering through the telem port does not work though.
    Do we have a list of Remizbi ${M|I|SH} commands ?
    By the way, as I am not using Xbee, I had to add the following in system.pde
    #if GCS_PORT == 3
    Serial3.begin(SERIAL3_BAUD, 128, 128);
    #endif
    #if OSD_PORT == 3
    Serial3.begin(SERIAL3_BAUD, 128, 128);
    #endif
  • Currently I'm attempting to use the USB port for my OSD seen as in the air that port *should* be free. I do have a splitter cable though which I use to share the telem port between OSD and Xbee, only prob is that once I switch to the Mavlink or other protocols things will break. I wish the APM would have had a 5th port on it, or I wonder if we could use the I2C port somehow?
  • Thanks,

    I am not to understand something then : If you use the telem port for xbee, where to you plug the osd on the apm then ?

    Above, you use serial3 by default which is the telem port, which other port can you use (i2c ??)

This reply was deleted.