a. MultiWiiCopter (MWC) and AH in remzibiOSD

Hardware description and basic try

So to connect OSD to MWC (and not only), software RX line of OSD must be connected to TX line of MWC providing commands at 38400 baud rate.

MWC not use GPS so OSD UART is occupied by GPS module (at moment when this wrote)

If MWC will start to use GPS then will possible to use hardware UART connection at any baud rate and this firmware in OSD 06. Connect OSD as display to other devices.

Firmware support on RX line following commands :

$CLS<CRLF> - clear screen

$SH<CRLF> - Save Home

$I,roll,pitch,<CRLF> -Artifical horizon , roll and pitch are int numbers at range -180 to 180 degree

$M,x,y,L,E,text,<CRLF> - custom text display at any x,y location with Leading and Ending symbol

<CRLF> is a two bytes caret return and line feed (0x0D , 0x0A) (DEC 13 , 10 )

All values are bytes send as ASCII characters , so for example byte x=12 are send as two bytes ASCII 31 32 represent 1 and 2 .

Notice that in data strings comas " , " must be after command letter and at end of string .

To test this firmware you can use IMU_sim PC testing program using USB cable , so you can send various commands to OSD and see on screen how OSD executing them . This will help a lot to understand OSD's work for those, who want use OSD with any external device .

Hardware UART is occupied by GPS module connected as normally - but there are not any more auto detecting baud rate of GPS . This UART is hard coded now for 38400 , as GPS works .

Is possible to set custom hardware UART speed - but support in GUI must be done by Paul .

Or is possible via terminal - in EEPROM at address FE is stored value for UBRRH register and in FF is stored value for UBRRL .

Anyhow when GUI will be ready then I will release firmware version supporting hardware UART in GUI set of baudrate speed- as well as 1_74 version for external devices.

Also this firmware is not collecting and showing MAXIMUM values , because no space in memory and no space on screen occupied by AH bars.

Other functions of OSD works as normal .

NOTICE - AH will start to show after Save Home is done . So before of it is possible to send $CLS to clear boot screen and write any your own text like ex. "Quardo is ready" or "ARMED" when armed or whatever craft configuration option .

After send $SH for save home screen will be cleared and ready to use with AH .

AH will start to show moving bar after receiving $I,roll,pitch,<CRLF> commands at software RX .

When we stop transmit $I,roll,pitch, and then send $CLS , then again we can use free space on screen for any custom text or messages like "Disarmed" or whatever else using $M,x,y,L,E,text,<CRLF> at software RX .

To display graphical L(eading) and/or E(nding) char/s only without "text", type command like that:

$M,x,y,L,E, where L and E are graphics or font we want to display

More about here a. Communication protocol is simple

This firmware use EEPROM (BIN file) for normal OSD , so nothing must be done except changing firmware only . When GUI will support new functionality ( http://www.rcgroups.com/forums/showpost.php?p=19292029&postcount=3574 ) , then new eeprom with hardware UART baud rate set can be updated as easy as now .

This firmware was intended to work with MultiWii copter , but still I had no time to look at MultiiWii code .

----------------------------------------------------------

Firmware MWC done by user "gtrick90" MultiWii 1.8

But someone else (gtrick90) had some time and did made mod of MutiWii code for OSD used as AH visualization

please look here http://www.rcgroups.com/forums/showpost.php?p=19696099&postcount=1

-----------------------------------------------------------

Firmware MWC done by user "pirzol" MultiWii 1.9

Another ready to use solution for MWC done by user "pirzol"

-----------------------------------------------------------

Firmware MWC done by user "pawelsky" supporting MultiWii 2.2

Here is the latest I think implementation of connection remzibiOSD with MWC 2.2 done by "pawelsky" described on RCGroups .

http://www.rcgroups.com/forums/showthread.php?t=1899490

Here is what this modification is capable of:

1) receive lat, lon, number of sats, speed, altitude (either from GPS or the barometrc sensor), course (either from GPS or heading form the compass) from MWC via the serial link

2) receive the artificial horizon data from MWC (switchable on/off with right stick as in gtrick90's code)

3) display indicators of the MAG/BARO/GPS HOLD/ARM state and flight type (ACRO/ANGLE/HORIZON) - see attached picture below

4) use the newly introduced OSD_SWITCH to switch OSD display on/off

Added some indicators on the screen

http://www.rcgroups.com/forums/attachmentNew.php?attachmentid=6325303

......