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

DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @diyrobocars @circuitlaunch And here's the final showdown! Video courtesy of @chr1sa I think I was a little faste…
6 hours ago
DIY Robocars via Twitter
RT @DanielChiaJH: @a1k0n @armand_dpl @SmallpixelCar @diyrobocars @circuitlaunch I use @foxglovedev Foxglove Studio for my visualization nee…
6 hours ago
DIY Robocars via Twitter
6 hours ago
DIY Robocars via Twitter
RT @a1k0n: @DanielChiaJH @diyrobocars @circuitlaunch Here's my car's view of that race. About 8.4 second lap times for laps 2 and 3... both…
Monday
DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
Sunday
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at https://m.twitch.tv/diyrobocars Races begin around 2:00pm PT
Saturday
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
Saturday
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
More…