PlayUAV / PlayuavOSD

A Graphical OSD for FPV
http://en.playuav.com
GNU General Public License v3.0
67 stars 60 forks source link

AHI issues on OSD #26

Open ABLomas opened 8 years ago

ABLomas commented 8 years ago

Hi, there are some issues with AHI. First, it's way too complex for FPV flying. It looks like "ladder", but only middle part tries to follow horizon, other parts are moving separately. All other parts are somewhat useless for instrument-only flying, but AHI itself - must have feature (together with angle indicators) Second, preview on GUI is wrong, it's missing "top arc" on preview, but it's on real OSD Third, there's something wrong with "middle-AHI indicator" following horizon. It's lagging a lot, but sometimes miss horizon completely (see picture near ground, it's pointing into opposite direction). On MP GUI i see horizon following ground properly, so probably AP is working correctly. And last one - that important "middle part" (longer horizontal dash) disappears at many angles/positions. Other parts aren't usefull (at least for FPV/instrument flying), but they remain here; while middle part (which should work as AHI) disappears.

I attached few screenshots to demonstrate problem.

And... Can we have (as option, if possible) simple long AHI? I attached screenshot from another OSD (last one) - display only dash, which would follow horizon 1:1 on roll (means it's allways aligned with horizon) and follow pitch with variable ratio (selectable by user - would be 1:1 for precise horizon follow, less than 1 for scaled - it would show pitch angle, but won't follow it exactly so even at high AoA could remain on screen)?

dvr_b_1 dvr_b_2 dvr_b_3 dvr_b_4 dvr_working_f_1

ghost commented 8 years ago

The "ladder" GUI comes from MP. The users who are familiar with MP's HUD should get the hang of PlayUAV OSD UI quickly. Yes, we can add the GUI as the latest picture you mentioned, meanwhile it will add the complexities for user choosing. So I would rather left it to the advanced user for customized. Actually, It is not complex to customize the AHI. With PlayUAV OSD codes: 1) First, you need to construct a UAV object which contains all the vertexes and position. See the function uav2D_init(void) in file UAVObj.c. The function construct a 2D object with 38 vertexes and the initial position of each vertex. 2) At the function hud_draw_uav2d() in file osdproc.c, we transfer the 2D object with the roll, yaw and pitch from MAVLINK. After that, we draw the lines between the vertexes using function write_line_outlined(...).

You can draw most graph like you are building a game. Please give a try (first construct a line which contains two vertexes)and I am sure you will get a lot of fun:-)

If you want to draw a cube(3D wireframe), please refer the codes of 3D(uav3D_init and hud_draw_uav3d )

PS: the preview of the CT is not exactly as the board real-output. It is just used for making configuration convenient.

ABLomas commented 8 years ago

OK, in short - what value (screen clutter excluded) adds this separate ladder and arc on top? AHI is separated, i agree that it's usefull. Ladder, arc... Why? It's different on MP display, compared to Playuav osd output. Also it's different on preview, compared to real output - all that adds to user confusion.

To me it seems it was done as fun exercise testing graphics and left lying around. Or i miss something, then please add comment - why we have separate ladder (displaying something) and AHI which disappears sometimes, but which is displaying something else compared to ladder?