first of all, many greetings for the developpers of Multiwii, it's a good piece of code !
I'm new to multiwii world and arduino programmation, it's cool, i love flying machine and programmation
![Wink ;-)](./images/smilies/icon_e_wink.gif)
I ve build a mini Xquad and all is working fine. amazing flying skills.
my actual configuration is
CRIUS SE BOARD. Level on AUX1 and BARO ON aux2.
using multiwii 2.0 release and arduino 1.0.
The problem is CRIUS 3 WIRE LCD (please don't say it's shit even if it's true... but it was just simply working with 1.9).
Something wrong is happenning with communication with main board :
weird characters, offseted etc... bu you can guess it's not random cause you seen partial right text
I tried to fix the bug by changing BITDELAY but it's not the solution : it's worst if i go far from 102 BITDELAY VALUE, more much weird characters.
I made a file diff between 1.9 and 2.0 version. for LCD3WIRE type, it seem the sending serial code is not changed. idem for clearscreen command.
Notice something : when if connect both LCD and USB interface... when i upload the new program, the LCD receive many characters (i suppose they are on the same pin ? it's normal ?)
I know the code 2.0 is working fine on original 3 wire Sparkfun LCD, so my opinion is that someting 'non standard' is implemented in crius LCD to achieve serial reception....
i think that between 1.9 and 2.0, the protocol was not changed... so there is something about timing and crius LCD software must be sensitive to this.
Perhaps an interrupt that push bad values on PINOUT, or make jamming in timing ? perhaps the code is not compiled in the same way ?
was thinking of disabling all interrupts before sending the whole screen refresh and reenabling all after, but it's sound like the delay() func need interrupts to work.
is there a reliable method to do this ?
There are many users of Crius LCD and it would be cool to manage to solve this bug.
Thank you for your suggestions