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:
- Changeable unit measurement (US, metric)
- Home alt
- Battery Percent
- Battery used mah
- Current Draw
- Time From Startup (cleared at takeoff to show exact flight time)
- OSD Menu
- 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
- Smoothened horizon
- Real heading
- 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
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! :)
Looks like you need to update your MinimOSD to the latest firmware which can be downloaded at the top of this forum R800 :-)
It shows samething with me something like 100%6% on the rssi data. But I can easily erase it by just switching to diffferent osd screen. As you all know in the configurator, we have the option to set a channel from apm/pixhawk which we can change the on-screen display from osd 1 to osd 2, and last the blank screen with no osd. I used channel 6 on a momentary switch in my taranis. Then in the configurator, i checked the "Rotation switching". I also disable the warning screen so when there's warning prompt like "Low battery" , "stall" etc. my osd screen will not change to it's current state.
R800 is for losers, I have R806 ;-)
I needed minimOSD to do panel rotation based on a switch state change, not whether the switch is not in the down position, and then getting an infinite rotation between 3 panels.
It didn't do that.
Now it does: https://github.com/marcmerlin/MinimOSD-Extra
(R805 was top of tree, but no precompiled binaries. I made R806 for plane and made a precompiled binary)
I just spent time adding a switch double flip OSD rotation function.
This allows you to reuse any switch (flaps, gear, lights, whatever) and flip it to any position and back within 1 second. If you do, this will rotate the OSD screen. This is available in Version 807 with precompiled binary for plane. Anyone with copter can easily port my code and test it (I don't want to maintain a branch I'm not testing).
In turn, this makes the mode switch rotation code redundant (and it never worked right for me anyway), so I was able to delete it in version 808, where I made other cleanups.
My repo is here: https://github.com/marcmerlin/MinimOSD-Extra
The tree I added code in: https://github.com/marcmerlin/MinimOSD-Extra/tree/master/MinimOSD_E...
Firmware with new rotation code:https://github.com/marcmerlin/MinimOSD-Extra/blob/remove_ms_rot/Rel...
Firmware with code cleanups and mode switch rotation removed (please test this if you can, and go back to R807 if it doesn't work for you): https://github.com/marcmerlin/MinimOSD-Extra/blob/remove_ms_rot/Rel...
(I was able to free up 188 bytes)
I sent this for merging in the main repo, but for now you can report problems to me:
My version already does this or am I missing something here??
What does your version do?
rotation switching with a switch will rotate the OSD forever (once a second) if your switch is on anything but down
this means you can't use your switch for anything else.
My version switches the OSD only if you move the switch to any other position and back within 1 second. This allows the switch to be used for anything else and you can even use mode switch (APM 6 position switch) for this.
The APM mode switch rotation code does exist, but
1) it doesn't work for any switch, just the mode switch
2) it just didn't work well when I tried it. Sometimes it would rotate when I didn't want, and other times, I really wanted it to rotate and I couldn't get it to.
My version does this with the mode switch same as you state by moving it back and forth in one second will change the OSD display to 1, 2 or off. It is settable in the configurator as to how you have it function.
Yes, I know about the mode switch feature. It did not work reliably for me, that's all I can say.
Sometimes it would rotate, and sometimes it would get stuck
My code allows to do this reliably with either the mode switch, or a 2-3 position toggle switch (it combines and improves the 2 separate code paths that tried to do this into a single smaller one, saving program space for more functionality)
AlbeEagle, I'm lacking context here. Are you talking about switch OSD rotation or flight mode based rotation?
And I don't understand what you mean by "you have to use a trainer swtich". On my Taranis, I can assign any switch I want to any channel I want.
I think he is making reference to the Trainer Switch as it is a non latched switch and will return automatically when you let it go. You really do not have to use this switch and as you say on the Taranis you can assign any channel to any switch or pot, I think he is talking about simplicity of use here. Unfortunatly for me I don't have any spare channel capacity on the receiver and I have to use the Mode Switch method :-(
Got it, he was telling me how to use the original code that burns an entire channel just for OSD rotation.
Indeed that's great if you have spare channels, I don't (I use 14 for that matter, and channels below 8 are premium, so I only have one spare with 7 channel motor glider with crow flaps). I can now use channel 8 for OSD rotation, turning my cameras on/off, and activating geofencing with ardupilot, all on the same channel with the same switch (obviously you couldn't do that with the old code).