remzibi's Posts (4)

Sort by
OKThe first working firmware for OSD to display raw data from Ardupilot seems to work now .This firmware should also work with ArduIMU - but I had no chance to check it - I have not arduIMU - I hope Paul will do this .The main problem for me - is that I do not understand well how actually ardupilot works .At summer Jordi tryed to made me an expalanations but i lose all that emails :( , hard to say but I have not enought information about ardupilot and his way of work (lastly I had no time as the main reason of my incompetence) .What are exactly all this data means ? :!!!LAT:50017380,LON:20002444,SPD:19.00,CRT:0.00,AL T:0,ALH:0,CRS:8.00,BER:185,WPN:0,DST:1933,BTV:12.45,***+++ASP:0,THH:85,RLL:60,PCH:-60,***+++ASP:0,THH:85,RLL:60,PCH:-60,***+++ASP:0,THH:85,RLL:60,PCH:-60,***+++ASP:0,THH:85,RLL:60,PCH:-60,***+++ASP:0,THH:85,RLL:60,PCH:-60,***and when ardupilot is ready to fly - how it save his home position ? I need this for display - also can be nice one more info about SAT quantity .As any of you gentelmens , know how the ardu works and what represent all this data for - please let me explain (exept DST, ALT, SPD PTH RLL) - that I suppose to already know .here is the screen shot :uvs091125_001_169.gifSome more immpressions can be read and firmware can be dowloaded here - http://www.rcgroups.com/forums/showpost.php?p=13667448&postcount=294
Read more…

First try with ardu communicate

I am sorry for a late , but lastly I had really lot other problems so no time at all for any "flash" work .However I made few lines of code to made possible communicate sending to OSD from any external devices , so from Ardupilot also - anyway that was the base reason . HappyKillmore already wrote about it - but here detailed descryption of message format .So we can deliver information to display on OSD at location x,y looks like that :[leading character][text message][ending character][ending space]ending space is displayed always after mesasage.String to OSD shoult look like that :"$MXXYYLLEEabcd"must be end by enter character CR LF linefeed and carriage return .$M - means that it is meassage to display (M must be uppercase)XX - is a x coordinate on screen , must be hex valueYY - is a y coordinate on screenLL - is leading character hex value from font tableEE - is ending character hex value from font tableabcd - is a "text message" to dispalay (for now can be 30 char long)when LL or EE is Hx00 - then will be not displayed at allwhen text message is "" [empty] then also will be not displayedSo string to OSD can be like that in C Arduino sampleserial.println("$M050a4a4bI like that")so at location x=05 y=10 will be displaed this :" <<I like that>> "as you see LL is 4a it means [<] char and EE is 4b it means [>] char .or can be done like this way:[code]serial.print("$M") //header for messageserial.print("050a") //x and y coordinatesserial.print("4a4b") // leading and ending characters(graphics)serial.println("I like that") //message with LR CR ends string[/code]This is exactly how is working this function in OSD now .As advantage of this system when we define most significant bit of XX coordinate for 1 then we choose small fonts for text message display (only capital letters) - when is 0 then default big letters are displayed from characters table capital and small letters .[code]XX |= (1<<7) // set 7 bit for small charactersXX &= ~(1<<7) //reset 7 bit for big characters[/code]To be possible custom screen configuration , need of understanding how it is work .The screen is divided on net where the charcters are writen .The grid is 30x16 with PAL mode nad 30x12 in NTSC mode .Looks like that:[code]. X------>Y 1 2 3 4 5 6 7 8 ... 29 30: 2: 3: 4v 5. .. 15. 16[/code]So when we made configuration we just teel the program where on the screen we want first character(or graphic) of our information - up left corner is coordinates X,Y (1,1) , bottom right corner is X ,Y (30,16) - remembre that NTSC mode Y must be no more than 12 .How do we know what mode are currently in use ? - we will see after OSD init logo .I foloowed of mmormota idea about add to OSD firmware ability to display any custom information delivered by RX input at the same baud rate with GPS module .So if anyone have external device with GPS and retransmitiing GPRMC GPGGA messages , OSD can be used in usuall way - inluding autodetecting baud rate .But also in middle of NMEA messages is possible to put custoom dispaly instruction - all described detaily in post above .So here is the beta version of firmaware 1_60 - mostly for mmormota to test with ardupilot software .It is working exactly as remzibi OSD (including GPS configuration commands sent at begining by TX line after baud rate detection) plus ability to display any custom oinformation delivered by UART(com port) in the middel of NMEA messages , format described in post above :"$MXXYYLLEEabc"So with this solution there are a bit solved problem of insufficient space in OSD's chip . maybe will be possible also displaynig artifical horizon and pitch using characters E0 to E7 from character-font table .Here is my imagination of artifical horizon .Too smal chip not allowed to made it in OSD for roll - but in Ardupilot that counting can be done and using "$Mxxxxx" mesages - that should be possible - as well as pitch .a2721448-192-horizon.JPGSo for now are avaliable to firmwares for OSD , first as display termional only working without GPS named no_gps.hex and second normal OSD firmware OSD1_60.hex with ability to display anything in the middle of NMEA commands .No GPS firmware can be downloaded here - http://www.rcgroups.com/forums/showpost.php?p=12973661&postcount=1344and 1_60 firmware is already avaliable with PC software update - or here - http://www.rcgroups.com/forums/showpost.php?p=12973724&postcount=1345with pictures of possible connections .I hope that this firmware will help for many peaples doing his own project and will made poor man's OSD more open to world , also be more universal to variouse usage in many other project , not only flying platforms .
Read more…

Next attempt

Programing Ardu with original USB is easy - modyfications and compiling of sources in Ardu IDE is also easy .First how to connect GPS from OSD to Ardupilot .We must made a small hardware modyfication - add diode to suplly Vcc to GPS module and that all .[img]http://rc-cam.info/files/dioda_213.jpg[/img]dioda_213.jpgNext thing is modyfication in software - so in easystar.h file we must modyfiy line for GPS configuration like that:[code]#define GPS_PROTOCOL 0 [/code]Then in GPS_NMEA file like on picture :[img]http://rc-cam.info/files/symul_comment_740.jpg[/img]symul_comment_740.jpgOn bottom we see information send by Ardupilot - all is working in simulation mode with OSD GPS emulator software using two OTi cables - one is playning GPS with GPS emulator from remzibiOSD PC programand another port is monitoring TX line of Ardupilot .[img]http://rc-cam.info/files/s6301095s_117.jpg[/img]s6301095s_117.jpgAlso GPS is working as well with Ardupilot :[img]http://rc-cam.info/files/s6301098s_212.jpg[/img]s6301098s_212.jpgAs on simulation picture there are ATL problem - all time is 0 so I must to look closer why , maybe this is Ardupilot normal work .So in future - instead of monitoring cable will be pilot's TX to OSD's RX one connection to get Ardupilot data .Ok first practical try is done :) - all works fine , for next I will made some debug printing from Ardupilot and will start practical Ardupilot-OSD cooperation .Lastly - the main problem I have is a very short time I can spend for this nice playing with all this nice toys :) .
Read more…

New toy - Ardupilot

Thanks to Jordi (thank you for this possibility :) ) I started play with Ardupilot . The main goal is to connect it to remzibi OSD (poor man's OSD) -http://www.happykillmore.com/Software/faq.asp?LANG=Englishhttp://www.rcgroups.com/forums/showthread.php?t=921467in simplest way to Ardupilot , all advantages of both devices must be keeped autopiloting and custom layout config of OSD .s6301014.jpghttp://img14.imageshack.us/my.php?image=s6301014.jpgArdupilot is device designed for autopiloting and was not made for any FPV flight - so GPS originally is very close to autopilot board and VidTX probably also (VidTX is jaming GPS) , but using Video and GPS should be mounted at distance to each other .Ardu by his self are greate source of noise also - so any separation ( LC and RC lopass filter) must be considered for coupling RC RX signals .There is not possible (I do not know why probably IDE reads USB device VID or PID) to made and Ardupilot software update by USB OTi cable (belongs to OSD) - but original USB works OK (however can better) .I already concider to compile bootloader for mega328 as Megaload - will take from memory only 1k , as original ardu bootloader takes 2k now , also any USB-uart or rs232-uart cable will able to use for firmware update . In this case will be possible to use even mega168 Ardu with 2.2.3 software .OTi cable works great as serial monitor for Ardupilot or as debuging or whatever .Will test it more with PC GPS emulator .It is possible to connect remzibi GPS - but must be done some config in software like serial.begin(9600) for older GPS module or serial.begin(38400) for last relase , so in fact is very easy . Hardware change is a one diode on bottom of adru board . The config file changes are very simple .In total - Ardupilot is very nice and flexible device even using Adru IDE for programing - for beginers is even much more easier to use then raw GCC .Ardupilot team made really good job till now - in fact that sources are open - so this solution is real future having autopilot solution .For now ardu 2.2.3 firmaware takes only 14,4k (NMEA GPS) so not even 50% of total memory (32k at mega328) .Next soon .
Read more…