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

Views: 51804

Reply to This

Replies to This Discussion

If I may.. :) I have a radar on Suppo OSD, it scales it's range accordingly, so as you fly out, so will it increase the range and visa versa. North is up. Sample: https://www.youtube.com/watch?v=JKFPVagEaLI

I see no radar like function on the vid.

But as Miguel say, as it is not a graphical osd, and has really small memory, we are not planning cosmetic upgrades.

It already has a waypoint panel showing your distance from next waypoint, waypoint number, an arrow showing the direction to the waypoint, and allso Crosstrack error showing if you are off your predefined vector.

Also there is another problem, and i think this one is a serious one;

APM only sends navigation data trough mavlink while in auto modes.

Gábor

Hi Gábor

Have a look at the little caret symbol in the center area of the screen - that's the "radar" - i.e. where you plane is relative to you facing north.

However I also agree it's not a priority for me.

Ahaaa!

Got it! :)

Well that is not that hard to make... But the space....

Ok, i will talk it over with Miguel.

Gábor

Hi Hein,

Thanks for your sample.

If we use "character resolution" as in your video, it will be much lighter than what I thought :)

Regards,

Miguel

Hi Miguel, glad to be of help, maybe one can merge it with the artificial horizon to overcome Gabor's concern? Can you rotate individual characters?

Hi Hein,

"Hi Miguel, glad to be of help"

It's your feedback and tips that make the development worthwhile. They are much appreciated! :)

 

"maybe one can merge it with the artificial horizon to overcome Gabor's concern?"

One way of doing this is to merge them. The downside of doing so is that you won't be able to use them separately. But, I have some ideas ;) Have to think a little bit more about it.

 

"Can you rotate individual characters?"

Man! I wish I could. Unfortunatly if we want to "rotate", we have to use another character from the charset.

Regards,

Miguel

My memory failed :P

Each character is 12x18 pixels!

So we would need at least 12x18=216 characters from the chatset to have a 1 pixel resolution in radar.

With a 2 pixel resolution it would be needed 6x9=54 characters.

We only have 256 characters for everything :S

The principal memory cost is regarding that charset memory usage.

Regards,

Miguel

Nice video, and good work as always Miguel. I also learned some lessons about having antennas near my truck... not as bad as getting diversity connections backwards LOL! At least it appears you weren't under the goggles for this flight. ;)

I like the "landing aid" thing. That's essentially the 'altitude ladder' idea I brought up a while back. I'd like to see that implemented in a more compact traditional "ladder" off to the side... IMHO it's not worth having the AH cross out the center of the video. I also think having a similar speed ladder would be nice... like a carrat that moves toward center at GS=0.

The idea is similar to digital vs dial guages in your car... 'hands-on drivers' like dials, 'cruise controller' type drivers prefer digital. I bet most multirotor FPV guys are the hands-on type pilots who want guages... no time to focus on digital guages when you're snaking through trees... OTOH a ladder/dial guage might be something you can soak in through peripheral vision. ;)

ReadWikipedia: Read may refer to:being gay like a bunghole, making pancakes, brushing your teeth, sing thong aching, and listening to Justin beibers albums.

Hi Kevin,

Diversity backwards should be a little worst LOL

I tryed the googles on, but removed them right away. I will try next time.

I know very well that ladders. The reason I centered that in the OSD is because, when landing in a place where you can't see horizon well (like between trees :) ) you you have to be focused on the centre of attitude line.

 

That's why I centered that, but if people like it most on side I can make it that way ;)

 

Regards,

 

Miguel 

Well, it is possible.

Can you send me pictures?

I would like to take a look.

Gábor

Hi,

reading the discussion about radar, I found it a good idea and coded a little yesterday.

The GPS data in the test video is only simulated, because currently I have no time to fly.


The quad comes out of the middle at about 00:09:




If you like a plane icon more, you can change the icon in the mcm file.
We could also code that the quad or plane is shown with different heading directions, but for that we had less chars free in the mcm file (when using the artificial horizon with the better resolution).
But I will take another look for 8 free chars.


The used grid for the radar is currently configured to 14x9 chars, but this is changeable easily by defines.

And there is an auto scaling, currently set to 250m, which is also changeable easily by defines.



If you like, the code is at the same place where my artificial horizon with the better resolution is located.



The code is as follows:


/******************************************************************/
// Panel  : panUAVPosition
// Needs  : X, Y locations of center
// Needs  : globals: osd_home_lat, osd_lat, osd_home_lon, osd_lon
// Output : shows the UAV position in a radar like style
// Status : do flight test
/******************************************************************/

#define    STEP_WIDTH    250            // every STEP_WIDTH in [m] it is down-scaled
#define    SCALE_X        ( 7.0 / STEP_WIDTH)    // SCALE_X * 2 chars grid in which the uav is drawed
#define    SCALE_Y        ( 4.5 / STEP_WIDTH)    // SCALE_Y * 2 chars grid in which the uav is drawed

void panUAVPosition(int center_col, int center_line) {
    static int last_x = 0;
    static int last_y = 0;
    
    // distances from home in lat (y) and lon (x) direction in [m]
    int dy = (int)(111319.5 * (osd_home_lat - osd_lat));
    int dx = (int)(111319.5 * (osd_home_lon - osd_lon) * cos(fabs(osd_home_lat) * 0.0174532925));
    // display offset in y and x direction
    int y = (int)(dy / (((int)(abs(dy) / STEP_WIDTH) + 1) / SCALE_Y));
    int x = (int)(dx / (((int)(abs(dx) / STEP_WIDTH) + 1) / SCALE_X));
    // clear UAV
    osd.openSingle(center_col - last_x, center_line + last_y);
    osd.printf_P(PSTR(" "));
    last_x = x;
    last_y = y;
    // print UAV
    osd.openSingle(center_col - x, center_line + y);
    osd.printf_P(PSTR("\xF4"));
    // print home
    osd.setPanel(center_col, center_line);
    osd.openPanel();
    osd.printf_P(PSTR("\xF5\xF6"));
    osd.closePanel();
}


Have fun, bye
JR

RSS

Social Networking

Contests

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.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service