RaceFPV / rush-osd-development

From code.google.com/p/rush-osd-development
0 stars 0 forks source link

OSD crashes when scrolling through menu items on placement screen #24

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. go to screen 8, the one for changing locations of onscreen objects
2. Go to the NUM_SATS(first item in the list)
3. Scroll left one item
4. Lots of garbles text

What is the exact brand and model of hardware you´r using?
witespy kv team osd

What is the expected output? What do you see instead?
the menu should scroll all the way through

What official OSD version are you using?
2.3

Have it been modified in any way?
no

Please provide any additional information below.
It can be worked around by not hitting the end of the list(dont go left at the 
beginning of the or hit the end)

Original issue reported on code.google.com by matthewg...@gmail.com on 6 Oct 2014 at 11:52

GoogleCodeExporter commented 9 years ago
I have exactly the same bug. OSD just puts out some random symbols and stuff 
and freezes. Only way to make it work again is by resetting the OSD.

I also use the witespy kv team osd.

Original comment by mobius-...@outlook.com on 9 Oct 2014 at 9:07

GoogleCodeExporter commented 9 years ago
Also having this same issue with v2.3 on HK MinimOSD hardware. Confirmed this 
problem doesn't exist in v2.2.  And then found the issue.  I've attached a 
patch.

MAXSCREENITEMS is defined in two locations, one is wrong, and the correct one 
isn't being used.  To fix the issue, change the defined value of MAXSCREENITEMS 
to 26 in config.h:8, and comment out the definition in KV_Team_OSD.cpp:227.

Original comment by Dane.Gar...@gmail.com on 10 Oct 2014 at 4:53

Attachments:

GoogleCodeExporter commented 9 years ago
Thnx Dane for this patch, RushOSD is working great (again) at a rctimer 
minimosd! The software no longer crashes.

Original comment by mobius-...@outlook.com on 22 Oct 2014 at 2:51

GoogleCodeExporter commented 9 years ago
Thanks. MAXSCREENITEMS is 0-based which is probably why it was accidently set 
to 27 (the actual number of screen items) instead of 26.

B.t.w. there are a whole lot of if's that can be changed to "else if"s in that 
code to prevent unnecessary evaluations.

Original comment by craig.ma...@gmail.com on 6 Jan 2015 at 11:40