LibrePilot Forum

Users => Applications - FPV => Topic started by: chromvis on May 03, 2016, 11:26:03 pm

Title: MinimOSD-Revo wrong char decoding
Post by: chromvis on May 03, 2016, 11:26:03 pm
My minimOSD with "LP_All_From_Revo2303.hex" firware and recommended  "(Charset_1_3_0.mcm)" charset works fine while sit on the ground. If I tilt copter (just by hand) over 15 - 20 degrees instead of showing horizon with dash-like characters it shows capital letters with correct slope. So telemetry is OK, Character decoding is wrong, or wrong placement of slanted dashes in char table.
Any idea how to fix it.
I tried different charsets and firmware, the only working combination is this one, although partially.
Title: Re: MinimOSD-Revo wrong char decoding
Post by: f5soh on May 04, 2016, 12:15:06 am
Are you sure the charset update is done correctly ?

At boot do you see the same screen ?


Title: Re: MinimOSD-Revo wrong char decoding
Post by: chromvis on May 06, 2016, 05:59:24 am
Here is the whole picture:
I havd 2 minimOSD boards (1 micro and one full size). The micro I set a couple of weeks ago and it works perfect on my small (NightHawk 200) quad. It is a bit heavy (4 mm solid frame, so I am trying to resurrect my old 250 NightHawk (tried today - it actually way overpowered with RS2205 motors) and I was trying to flush old minimOSD board which I was using with PixFalcon (I was working fine with native Mavlink). I flash firmware and charset (I actually did it several times with different config tools (first with the one from LibrePilot site LP_All_from-Revo_2303.hex and using the new config v723). I also tried different charsets - all the same.
Today I got two new micro minimODS boards from Hobby-Ace, so far I tested only one of them. Flush FW. load charset ( Charset_1_3_0.mcm ) result even worth - dots all over the screen.
I noticed that my working board does show booting process on the screen, both other boards does not. Is it defective boards, or I am doing something wrong? I also swap boards  between copters, same thing, the old one works, both other does not. I am afraid there is some trick with bootloader or Installation sequence. I actually reset EPROM using new config tool - same results.
Any ideas?
Title: Re: MinimOSD-Revo wrong char decoding
Post by: f5soh on May 06, 2016, 11:47:05 am
Did you power the Max chip while uploading the charset ?

For the full size, the MAX7456 need to be powered. Charset is stored here.
This means you need to provide +12v to video connector.
Title: Re: MinimOSD-Revo wrong char decoding
Post by: chromvis on May 07, 2016, 04:50:52 pm
This is on micro MWOSD (KV team mod), I do not think it requires 12V. What bothers me is that I have 5 OSD boards (2 full size minimOSD and 3 micro). One full size OSD and 1 micro works fine with both APM (ardupilot) and REVO (Librepilot) with different firmware certainly. Three others which I bought this year does not work on either system (I tested rigorously in last couple of days). These are also different batches (I bought them in different times). It definitely seems like manufacturing problem, although I could not rule out that I did something wrong. 
Title: Re: MinimOSD-Revo wrong char decoding
Post by: f5soh on May 07, 2016, 05:15:05 pm
If you do not show the "JR130" and the small logo at boot, the charset is definitively not loaded correctly.
Here is the charset content:

Be sure you loaded the LP OSD firmware first, some others firmwares do not support charset uploading to save memory.

Title: Re: MinimOSD-Revo wrong char decoding
Post by: chromvis on May 08, 2016, 07:31:13 am
Actually boards appeared to be OK. Problem was in EEPROM reset and erase. I downloaded MWOSD from install it through arduino IDE and version 6.1 did show clear screen with flushing sigh NO DATA (I install it in TauLabs mode - the closest to OP). On their website they have strong recommendation to erase EEPROM using arduino eeprom_clear sketch. Interestingly, after that installation LP config tool wanted to reset EEPROm only after installation of LP FW. After flushing FW two times and loading Charset three times it actually start working although with some leftover parasite symbols in right lower corner. Second board fresh cleaned with arduino eeprom_clean and flushing firmware twice (I also requested eeprom reset, and I noticed that I have to wait about a minute after it show sign "DONE" to finish actual flushing and appearance of green LED on the board. Flush Charset three times and viola -- it works.
Would be good to either add proper eeprom cleanup in config tool (the one available in latest mawlink config tools v. does not work either) or add to the manual for LPOSD installation section the description of eeprom cleanup procedure.
Thank you for your recommendations.