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 came, and things started to happen fast. :D
He optimised the code and added even more things to it.
He worked hard on CT, and it became a great tool!
Thank you Pedro! :)
Also Burt & Eddie came.
They also worked on it and added many smart things to our firmware.
Thank you!
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
- Current Draw
- Time From Startup (Will be cleared at takeoff to show exact flight time in the next release)
- OSD Menu
- Variometer
- Wind horizontal speed and direction, and also vertical wind speed (Vertical wind speed will be in next release)
- OSD on/off
- Switchable secound screen
- WP distance
- WP heading
- Warning messages for Lost GPS fix, Stall, Overspeed, battery volt, battery Percent, RSSI
- Efficiency, glide distance & thermic notifier. 3 in one panel (Will be in next release)
- OSD Brightness (Will be in next release)
- HAM Call Sign (Will be in next release)
- After flight summary (Will be in next release)
- Trip distance (Will be in next release)
- Temperature (Will be in next release)
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.)
About the menu:
I made a menu inside OSD. You can enter this menu only after boot, the same way as screen switching works.
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.1
We are sharing it to see videos you make using it! :)
Enjoy
Tags:
Permalink Reply by Gábor Zoltán on August 17, 2012 at 12:43pm Hi Grips,
Takes a little time, but on the way.
I will not have much time in the next few days, but i think Pedro is right on top of it. :)
Gábor

Hey guys, have a few great flights under my belt with the stock firmware.
Any chance you could update the top (original) post with a link with the latest config and hex?
It would help! Thank you!
Permalink Reply by Pedro Santos on August 17, 2012 at 8:26pm
Permalink Reply by Burt Green on August 17, 2012 at 7:52pm Gábor
I have added Rssi to the projet from the code in the pre release folder.
I also found a way to slow down the input in the setup menu to about one unit pre to second.
My problem is I can't find out how to commit the changes to the area.
So next best think is show some of the code here.
in the write panels area this is the code to date.
switch(delay_setup){
case(0):
delay_setup++;
break;
case(1):
delay_setup++;
break;
case(2):
delay_setup++;
break;
case(3):
delay_setup = 0;
if(ISd(Setup_BIT)) panSetup(panSetup_XY[0], panSetup_XY[1]);
break;
}
CHANGE TO THIS
delay_setup++;
if ( delay_setup > 6 ){
delay_setup = 0;
if(ISd(Setup_BIT)) panSetup(panSetup_XY[0], panSetup_XY[1]);
}
IN THE SETUP PANEL THIS IS THE CODE
case 1:
{
osd.printf_P(PSTR(" Overspeed "));
osd.printf("%3.0i%c", overspeed, spe);
uint8_t overspeed_old = overspeed;
overspeed = overspeed + (chan1_raw - chan1_raw_middle) / 100;
if(overspeed != overspeed_old) EEPROM.write(202, overspeed);
break;
}
CHANGE TO THIS BELOW.
case 1:
{
stick_time = millis() / 1000;
osd.printf_P(PSTR(" Overspeed "));
osd.printf("%3.0i%c", overspeed, spe);
uint8_t overspeed_old = overspeed;
if ((chan1_raw - 100) > chan1_raw_middle ){
overspeed = overspeed - 1;}
if ((chan1_raw + 100) < chan1_raw_middle ){
overspeed = overspeed + 1;}
if(overspeed != overspeed_old) EEPROM.write(202, overspeed);
break;
}
I was able to make over speed, stall, & my RSSI menus work good, but ran out of space for the voltage.
Will be posting a video in a few minutes, before I call it a night.
Please if you can, How to I commit the changes?
Later
Burt Green
Permalink Reply by Eddie Furey on August 17, 2012 at 8:00pm Hi Burt,
Are you trying to slow down the speed at which the numbers change? Rather than use up all that memory with the switch(delay_setup) function, just use a delay(<milliseconds>) call at the end before the osd.closePanel()
eg;
delay(100);
osd.closePanel();
Permalink Reply by Pedro Santos on August 17, 2012 at 8:14pm Hello Eddie,
A delay call inside the mavlink timer is not good, because it slow down the update of the screen. Andke has already reported a crash because I use a delay (on one of my first attempts to slow down the process).
Burt,
the code you saw with the switch was in the pre-release. When I commit the code I will be changing the code to exactly what you proposed.
Pedro
Permalink Reply by Burt Green on August 17, 2012 at 8:28pm A delay call just won't work, the serial input stops working.
However I just did a form of the case, just gave it a few more times out of the loop, started with 10 and was too long. I'm still wating for the video to process so you csn see the results.
http://www.youtube.com/watch?v=fxIkKmJIhj8&feature=youtu.be
It seems like the code could be made to be a subroutine, so all 4 cases could use it and save memory, but wanted to test it first.
The Rssi is working good, so when it is released in the apm firmware everyone can enjoy it.
If a few brave souls want it I can supply the HEX file for both the apm2 and apm1.
Later
Burt
Permalink Reply by Pedro Santos on August 17, 2012 at 8:46pm Burt,
The switch was only a test method. The implementation with the "if" is already in the stable release and is working good.
Pedro
Permalink Reply by Eddie Furey on August 17, 2012 at 10:32pm
Permalink Reply by Andke on August 18, 2012 at 9:26am With all the information people wish (I see requests for WP and RSSI), we must admit that the MAX7456 is not good enough in the long run - the more you display, the more cluttered the screen gets - and - we are completely missing analog indicators, and the increased readability they provide.
For really cool graphics, and audio warnings - take a look at this project;
http://forums.openpilot.org/topic/6736-openpilot-osd-prototyping/
Fortunately it's open source too - it would be sweet to make that read mavlink...
Permalink Reply by Pedro Santos on August 18, 2012 at 5:25pm Andke,
the openpilot osd is super great!
In the mean time, to resolve cluttered data, selectable panels will be added. So, the user can switch between different panel layouts for the different fligth phases. At least it will be possible to select 3 different panels.
Pedro
Permalink Reply by Eddie Furey on August 19, 2012 at 3:05am Guys,
I combined Burt's and my changes to the setup panel last night and also rewrote the warnings panel this afternoon. I've put the changes in the pre-release files. Can someone check them out and have a play to make sure they are user friendly.
Thanks :)
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.183 members
1280 members
87 members
673 members
24 members
© 2013 Created by Chris Anderson.
Powered by
