Adding extra functions to MinimOSD

I have started to add functions to MinimOsd code.

At first i did it for myself only. Added many functions i thought i need. Then opened this thread.

after a while, Pedro and later Miguel came, and things started to happen fast. :D

They have optimised the code and added even more things to it.

They have worked hard on CT, and it became a great tool!

Thank you Bough! :)

By now MinimOSD-Extra got a pretty advanced OSD.

Here it is in action:

Added:

- Changeable unit measurement (US, metric)

- Airspeed

- Home alt

- Battery Percent

- Battery used mah

- Current Draw

- Time From Startup (cleared at takeoff to show exact flight time)

- OSD Menu

- Variometer

- Wind horizontal speed and direction, and also the average wind speed of the last few minutes. 

- OSD on/off

- Switchable secound screen

- WP distance

- WP heading

- Crosstrack error

- Warning messages for Lost GPS fix, Stall, Overspeed, battery volt, battery Percent, RSSI

- Efficiency, glide distance & thermic notifier. 3 in one panel

- OSD Brightness

- HAM Call Sign

- After flight summary

- Trip distance

- Temperature

- Smoothened horizon

- Real heading

- RSSI

- Vertical speed

This functions can be turned on and off, and placed on different screens now, by the Config. tool.

Also RSSI, switching mode and channel and unit measurement, Stall speed warning, Overspeed warning, Battery warning volt, Battery percent warning, RSSI warning,  can be set in new Config Tool.

We built in a new way of setting video standards. Now OSD does not guessing anymore :). You can set it fixed from CT. It is in "Video Mode" menu.

Here is how it looks: (This video is a bit outdated, sorry. I will make a new one soon.)

The MinimOSD-Extra project is here: Link

This project is the developing version of the official Arducam OSD located here: Link

The latest stable version is: 2.2

The latest version can be downloaded from here: MinimOSD-Extra R800

Username: MinimOSD_Extra

Password: Top_Secret

CT is included. (The FW for Plane, Copter, Character upload and the character file is in the "FW & Char" directory inside CT directory)

We are sharing it to see videos you make using it! :)

Enjoy

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

Join diydrones

Email me when people reply –

Replies

  • Hi Miguel!


    I'm getting a strange behavior on the RSSI output, i've set the correct numbers but (raw is not ticked so I can get the LQ in %) however, the actual output on the OSD still shows the raw.. strangely mid-flight it occasionally changes to LQ%.  Here's what I mean.. the 2 images came from the same flight, about 1 minute apart (00:11:24 minute and the next one 00:12:21) .. Notice the RSSI values on the upper left.

    regards

    json

    minimosd rssi.png

    • Hi Jayson,

      It seems that min and max values are not setted well.

      Could you tell me a bit more about your setup:

      osd fw version

      CT Tool version

      mavlink rssi or ch8

      CT Tool setted RSSI Min and Max values

      ...

      Regards

      Miguel

      • Hi miguel,

        I'm using the following:

        1) Minimosd-extra_plane_pre-release_2.4_r719.hex
        2) CTools 2.4.0.0 r727
        3) channel 8
        4) when I use 'raw' for the rssi, I get the max value at 1085 and the minimum at 1489 (yes its reversed!) -- however, in AP2 under radio calibration I get a min of 995 (ie no plugged rc tx) and a max of 1795 coming from channel 5 (which is plugged to channel 8 of the APM2.6).  I'm using the numbers seen by minimosd and when I use percent full link quality gives me '0%' and no link (ie unplug rc tx) gives me 100%.  Reversing it gives me a very high four digit negative percentage..  Any ideas?

        In the meantime, I suppose I can 'reverse' my understanding of the LQ% in the meantime =)


  • Hi Josh,

    Try this:

    1 - Backup your Arduino IDE libraries folder (just in case something goes wrong).

    2 - Copy the libraries I posted to the Arduino IDE libraries folder (it will overwrite some files).

    3 - Check if there are some/any libraries in your sketches base folder (usually "My Documents/Arduino/libraries). If there are libraries, remove them.

    Hope this helps,

    Miguel

  • Hello,

    I start to understand the code, and now I like to add Flight Mode support for TauLabs.

    In TauLabs there is MavLink support, but without Flight Mode.

    I see you have flight mode 0 (STAB) to 13.

    if (osd_mode == 0) mode_str = "stab"; //Stabilize
    else if (osd_mode == 1) mode_str = "acro"; //Acrobatic
    else if (osd_mode == 2) mode_str = "alth"; //Alt Hold
    else if (osd_mode == 3) mode_str = "auto"; //Auto
    else if (osd_mode == 4) mode_str = "guid"; //Guided
    else if (osd_mode == 5) mode_str = "loit"; //Loiter
    else if (osd_mode == 6) mode_str = "retl"; //Return to Launch
    else if (osd_mode == 7) mode_str = "circ"; //Circle
    else if (osd_mode == 8) mode_str = "posi"; //Position
    else if (osd_mode == 9) mode_str = "land"; //Land
    else if (osd_mode == 10) mode_str = "oflo"; //OF_Loiter
    else if (osd_mode == 11) mode_str = "drif"; //OF_Loiter
    else if (osd_mode == 13) mode_str = "sprt"; //OF_Loiter


    In TauLabs there are some that fit, but a lot we have to add in this Project:
    Manual
    Stabilized1
    Stabilized2
    Stabilized3
    Autotune
    AltitudeHold = 2
    VelocityControl
    PositionHold = 8 ? I think PH is the most used name for that
    ReturnToHome = 6 ? I think RTH is the most used name for that
    PathPlanner

    Whats the correct way for me to do / to get the needed numbers that I can 

    cu

    Carsten

    • Merde. Inclompied

      Whats the correct way for me to do / to get the needed numbers that I can.... 

      .... that I can finish my change in Taulabs.

      • Hi Carsten,

        I don't like to reply to messages with bad words... either way let me try to help you:

        "In TauLabs there is MavLink support, but without Flight Mode."

        So if Taulabs doesn't send Flight Mode in mavlink, how could minimOSD know which flight mode is the current one? Are you saying that it is not implemented yet in Taulabs and you will have to code it first? 

        Flight mode is grabbed from Mavlink heartbeat message (is the costum_mode field https://pixhawk.ethz.ch/mavlink/).

        A good starting point to see which data is sent through this variable is to print it directly in the osd:

        You could comment all that if else block and replace it by:

        mode_str = osd_mode;

        This should print the number received in mavlink message.

        Then you could set the if else block with the values you want.

        Miguel

        • Yes, I like to complete the TauLabs Mavlink support.

          And yes, I know what you mean ;)
          But I like to add the new mode_str

          I can do it in my fork, but I like to have it in the main code. 

          Thats why I ask, whats the best way!

          I like to add the following strings:

          Manual
          Stabilized1
          Stabilized2
          Stabilized3
          Autotune
          VelocityControl
          PathPlanner

          And a other thing:
          'retl' should be 'RTH' 
          'posi' should be 'PH'

          Thats the shortcuts I normaly see for that ;)

          cu
          Carsten

          • Hi Carsten,

            I'm afraid we won't be including that new modes in the main code.

            The main fork is intended to be as abstract as possible, i.e., If there was a standard in mavlink which said "code x means flight mode string y" then it would make sense, and any mavlink compliant platform would show the right flight mode.

            Also the first goal of the main fork is to be compatible with APM.

            Nonetheless I may help you to make the a custom fw if you want.

            Regarding the renaming of the flight modes I think you got a good point on that.

            RETL - I wouldn't call RTH but something similar RTL since in Arducopter it stands for "Return To Launch" or to be more precise "Return To Armed" (that's when it sets RTL position) although RTA doesn't sound right. I'll think a bit more on that.

            POSI - Totally agree with you, PH would make more sense.

            Miguel

            • Hi Miguel,

              where is the problem to have some additional Flight Modes perhaps beginning with ID 100?

              In this case APM can create a lot, but all other (I) are happy too.
              Perhaps there a other FC with flight modes (Harakiri, OpenPilot, MultiWii ...) that want to use this feature too.

              To create the firmware is not really a problem ;)
              The only problem is to keep it up to date ;)

              cu
              Carsten

              EDIT:
              Could you add the

              if osd_mode> APPHighID than
                 mode_str = osd_mode;

              Than I can send IDs like 100 ...

This reply was deleted.

Activity