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

    • Copy the "MinimOSD_Extra_Plane_Pre_release_Beta" and "librariesOK" folders to a new location. Rename "librariesOK" to "libraries." Set the sketch directory to that new location. Load up the "MinimOSD_Extra_Plane_Pre_release_Beta" sketchbook, make sure "Arduino Pro or Pro Mini 5V 328" is the selected board, and profit.

      • I am very grateful for your help! I did everything you said. Errors were gone, but Warnings in the remaining.
        I ask you again to look.

        In file included from MinimOSD_Extra_Plane_Pre_release_Beta.ino:81:
        /OSD_Vars.h:90: warning: this decimal constant is unsigned only in ISO C90
        OSD_Panels.ino:241:27: warning: character constant too long for its type
        OSD_Panels.ino: In function 'void panDistance(int, int)':
        OSD_Panels.ino:169: warning: format '%5.2f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino:171: warning: format '%5.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino: In function 'void panFdata()':
        OSD_Panels.ino:186: warning: format '%5.0f' expects type 'double', but argument 8 has type 'float'
        OSD_Panels.ino:186: warning: format '%5.0f' expects type 'double', but argument 11 has type 'float'
        OSD_Panels.ino:186: warning: format '%5.0f' expects type 'double', but argument 26 has type 'float'
        OSD_Panels.ino: In function 'void panTemp(int, int)':
        OSD_Panels.ino:201: warning: format '%5.1f' expects type 'double', but argument 3 has type 'float'
        OSD_Panels.ino: In function 'void panEff(int, int)':
        OSD_Panels.ino:222: warning: format '%4.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino:242: warning: format '%4.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino: In function 'void panTune(int, int)':
        OSD_Panels.ino:515: warning: format '%3.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino: In function 'void panWarn(int, int)':
        OSD_Panels.ino:664: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:663: warning: suggest explicit braces to avoid ambiguous 'else'
        OSD_Panels.ino:670: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:669: warning: suggest explicit braces to avoid ambiguous 'else'
        OSD_Panels.ino:676: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:675: warning: suggest explicit braces to avoid ambiguous 'else'
        OSD_Panels.ino:682: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:681: warning: suggest explicit braces to avoid ambiguous 'else'
        OSD_Panels.ino:688: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:687: warning: suggest explicit braces to avoid ambiguous 'else'
        OSD_Panels.ino:694: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino: In function 'void panBatteryPercent(int, int)':
        OSD_Panels.ino:745: warning: format '%4.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino: In function 'void panHomeDis(int, int)':
        OSD_Panels.ino:788: warning: format '%5.2f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino:790: warning: format '%5.0f' expects type 'double', but argument 4 has type 'float'
        OSD_Panels.ino: In function 'void panWPDis(int, int)':
        OSD_Panels.ino:1061: warning: format '%4.0f' expects type 'double', but argument 6 has type 'float'
        OSD_Panels.ino: In function 'void panFlightMode(int, int)':
        OSD_Panels.ino:1093: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1094: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1095: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1096: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1097: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1098: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1099: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1100: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1101: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1102: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1103: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1104: warning: deprecated conversion from string constant to 'char*'
        OSD_Panels.ino:1105: warning: deprecated conversion from string constant to 'char*'
        /OSD_Vars.h: At global scope:
        /OSD_Vars.h:50: warning: 'check_warning' defined but not used
        /OSD_Vars.h:94: warning: 'warning_found' defined but not used
        /OSD_Vars.h:129: warning: 'osd_windspeedz' defined but not used
        /OSD_Vars.h:164: warning: 'convertt' defined but not used
        /OSD_Vars.h:176: warning: 'waitingMAVBeats' defined but not used
        /OSD_Vars.h:180: warning: 'enable_mav_request' defined but not used
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:98: warning: comparison between signed and unsigned integer expressions
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void __vector_18()':
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:127: warning: unused variable 'c'
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'void HardwareSerial::begin(long unsigned int, byte)':
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:368: warning: unused variable 'current_config'
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\HardwareSerial.cpp:467: warning: comparison between signed and unsigned integer expressions
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\Stream.cpp: In member function 'bool Stream::find(char*)':
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\Stream.cpp:78: warning: deprecated conversion from string constant to 'char*'
        E:\arduino-1.0.6\Arduino\hardware\arduino\cores\arduino\Tone.cpp:119: warning: only initialized variables can be placed into program memory area

        Maybe I mast use more old Arduino version?

        Thank You advance!

        • That's normal, they're only warnings. I get all of those as well, and pretty much every large sketch that I've ever compiled has tons of warnings, and still works fine.

          I used to wonder if there could be a problem back when I used to compile APM firmware and would see all those warnings because that could have caused a crash but nope, everything has always been fine.

          • Hi!

            I want to ask you about one more advice. It concerns the autonomous flight. I looked at this and RC forums and did not find that any particular. Maybe you have information on this subject. Can the aircraft under the control of a Pixhawk or APM 2.6 implement long horizontal autonomous flight  (e.g., according to the direction magnetometer) without GPS and radiocontrol, but with built-in acceleration sensors, gyroscopes, barometers and magnetometer?

             If not, what are the horizontal flight stabilization system in addition to, for example, to Pixhawk, allowing for a long time (an hour or more) to stabilize such a flight?

            Thank You advance!

          • I'm really grateful to you!

            If you would be so kind, I'd like to get you more advice.

            I want to create on the basis of OSD project for example "subpanel
             horizon" on Panel #1 for graphic display of the data from Pixhawk under the MAV-Link protocol. The same data already use by OSD program to display in some other sub-panels in the form of figures.

            But I do not have Pixhawk, at this time, that I would have to carry out experiments.

            Can you know whether can disable the standby mode "Waiting for Mavlink Beat..." in OSD?

            And whether in this case the OSD display or not some blank panel on the screen with the initial "zero" values of the parameters?

            Thank You advance!

            • mistake -not "Waiting for Mavlink Beat..." in OSD.

              correct- "No mav data!"

              • Able to cope with this issue. Edited two files and got what I wanted.

    • The 3.2 ArduCopter release no longer populates long and lat or the battery condition...

      I looked at the Arducopter and plane code side by side and I cant see anything obvious, does anyone have any ideas ?

      • Keep hitting enable telemetry (in mission planner) and restart the board each time until it works,,Im sure there is a more technical way but that worked for me.

  • wow awesome to see the activity in this thread rising from day to day ;)

    There are some points mentioned before which are quite important:

    1. New thread - this one is quite old and long. If there are thoughts on a new MinimOSD Version then it should be transferred into a new thread

    2. New GitHub repository - can't we collect ideas and all other stuff in Github, and use the "new" thread as a placeholder on the diydrones community?

    3. Crowd funding is a great idea - I would def. go for that.

    I hope we all can come up with a greatly improved OSD in the future

    Cheers

    Axel

This reply was deleted.

Activity