Rushduino OSD - Multiwii based open software osd

This forum is dedicated to software development related to MultiWii.
It is not the right place to submit a setup problem.
Software download
carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

dynai wrote:Hi,

i now got a minimOSD clone in addition to my Rushduino... and i had the same problems as Carlo (power67) and what baffeled my that there seems to be no connection betwen the arduino pin 10 on the atmega and the reset of the max 7456 :?:
reset of the max 7456 is connected to the common reset of the atmel.

where you able to upload the code (character table) and get it working only with adding the jumpers?

i got mine working with adding a wire from pin 10 to the max7456 but if it works without doing this modification would be nice to know.

cheers Chris

Hi, do not need to connect reset pin 10 of arduino on Minim OSD to max7456, leave it as is.
The two jumpers on back of minim osd board are only for 5V supply coming from FC (on same serial port), in this case you do not supply with 12V from Tx/cam 3 pin connectors!
To load char map, you need a specific S/W loaded and aprogram tool to tranfer char map on max 7456.
Take a look here for the needed tools http://code.google.com/p/rush-osd-development/downloads/list.
Bye, Carlo

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

power67 wrote:Carlo,

yes, I am using Paris i2c gps with mag built into the gps module. I know that you have to change the sensor orientation in the MW def for the mag.
The compass heading appears to be correct. (or at least matches the GUI)
...
...
Bye, Ross

Hi Ross,
A friend of mine have the same issue with the home arrow reversed, seems to be something in serial/i2c conversion S/W as with my direct serial GPS connection the home arrow is correct.
May be someone, Eosbandi, can look into his S/W to verify it.
Bye, Carlo

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

Carlo,

Perhalps if the OSD is getting data directly from the Mag, this might have something to do with it. See the attached code. If the OSD does get the data direct from the mag, perhalps we can have an #if defined(SIRIUSGPS) statement as well that runs a different calc. Just thinking out load.

the first code is for the standard orientation of the mag, The second is for the mag mounted on the bottom side of the i2c gps unit. Notice the shifts in the MAG_ORIENTATION
What are your thoughts?

Code: Select all

#if defined(SIRIUS)
  #define ITG3200
  #define BMA180
  #define BMP085
  #define HMC5883
  #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = -X; accADC[PITCH]  = -Y; accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  =  Y; magADC[YAW]  = -Z;}
#endif

#if defined(SIRIUSGPS)
  #define ITG3200
  #define BMA180
  #define BMP085
  #define HMC5883
  #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = -X; accADC[PITCH]  = -Y; accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = -X; magADC[PITCH]  =  Y; magADC[YAW]  =  Z;}
#endif


Thanks
Ross

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

@ power67,
Ross, I don't know this board, but i took a look at this and, yes, if the new mag is on bottom side, of course you need to use the SIRIUSGPS setup with reversed mag axis.
Aniway if on MWii GUI and on OSD you have the same and correct heading (Pointing North=0 degree, Pointing East=+90 degree) your setup and calibration is OK.
The OSD do not use data directly from mag, OSD use all pre-calculated data coming from MWii FC, the same data as per GUI.
You situation is a little bit different, tha Mag/GPS board has a dedicated CPU (ATmega 328) for pre calculation of some data and then sent via I2C to MWii FC.
May be the issue in on this F/W called I2C_GPS_NAV made by Eosbandi, but I'm not sure, open a new thread on this forum and ask about this.
P.S. Do you tried your copter the funcion RTH (Return to Home)? May be this issue involve also RTH.
Bye, Carlo.

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

carlonb wrote:Hi, do not need to connect reset pin 10 of arduino on Minim OSD to max7456, leave it as is.
The two jumpers on back of minim osd board are only for 5V supply coming from FC (on same serial port), in this case you do not supply with 12V from Tx/cam 3 pin connectors!
To load char map, you need a specific S/W loaded and aprogram tool to tranfer char map on max 7456.
Take a look here for the needed tools http://code.google.com/p/rush-osd-development/downloads/list.
Bye, Carlo


hi,

thanks, i used exactly that software but it didn't work the first few tries (software SS on 6 and reset on 10) before i decided to solder pin 10... i now reverted everything back to default, its working.
don't know why i couln't get the software to load before doing soldering... anyway good to know that it should have worked without modding :)
looking forward to my first osd-fpv flights

cheers Chris

Benzel
Posts: 13
Joined: Thu Jun 28, 2012 7:07 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by Benzel »

Hi, i am trying to get the Rushduino/Minimosd to work with my Naze32 board. Everything seems to be working fine, like GPS, Vbat and the angels. But for some reason the OSD does not get armed.
If i use the Yaw stick to start the motors the osd still shows disamed and the timers don't start.
Same OSD was working fine on my Crius board?

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

Depending on your setup, the switch-arming triggers may be different than what is in the confing.h file

look for the listing of modes near the top of the config.h file

change
#define ARMEDMODE 32
to
#define ARMEDMODE 16

you may have to change it to a different value depending on your setup.

Hope this helps
Ross


alexia
Posts: 85
Joined: Sun Jun 17, 2012 10:23 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by alexia »

does it work without problem with rushduino>?

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by copterrichie »

alexia wrote:does it work without problem with rushduino>?


Not sure, going to order one myself for testing however from what I have read in this thread and elsewhere, only minor modifications. Hopeful someone will create some define statements, I believe this has already been done.

alexia
Posts: 85
Joined: Sun Jun 17, 2012 10:23 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by alexia »

thanks copterrichie

albertoLG
Posts: 57
Joined: Fri Sep 07, 2012 8:14 am

Re: Rushduino OSD - Multiwii based open software osd

Post by albertoLG »

copterrichie wrote:Minim OSD v0.1 $18.99

http://www.hobbyking.com/hobbyking/stor ... aff=777945


you can find it at the same price shipped on Goodluckbuy

Benzel
Posts: 13
Joined: Thu Jun 28, 2012 7:07 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by Benzel »

Hello Ross,

Thanks, will give that a try.

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

Hi,

is it normal that the max7456 gets warm during operation? i've soldered the jumpers for 5v from serial and only have gnd and video signal from my camera (which runs on 5v not 12v as well)
with warm i mean warm like the video transmitter....

kind regards Chris

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by copterrichie »

Chris, I read that the max7456 is very current hungry, I suggest checking the datasheet to validate this.

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

Hm..

Analog Supply Current MAX: 35 mA
Digital Supply Current MAX: 30 mA
Driver Supply Current MAX: 80 mA

well ill keep an eye on it :)

kind regards Chris

P.S.: ok i measured my power consumption for:
-Atmega328 (multiwii) (40mA)
-tinyGPS (uA)
-MTK 3339 (20-30mA)
-MPU6050 (3.8mA)
-BMP085 (uA)
-HMC5583 (uA)
-Futaba R617FS (60mA)
-minimOSD (?)
2 Servos (no load 20-50mA)
ESC (?)

with a total of 270 mA (without video transmitter)

leaves some 136mA for ESC and minimosd
i measured approx 90mA for the Rushduino... and its getting warm as well :D so im ready for my first osd Flight tomorrow :)
Attachments
swift2fpv.jpg

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

Please, help me !!! I bought one MiminOSD clone from goodluckbuy but I don't know in which serial port of my Crius AIO Pro flight controller must I connect the tx and rx pins, TX0/RX0 or TX1/RX1 or TX3,RX3
Thanks.

itain
Posts: 75
Joined: Tue Aug 23, 2011 10:32 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

rortega wrote:Please, help me !!! I bought one MiminOSD clone from goodluckbuy but I don't know in which serial port of my Crius AIO Pro flight controller must I connect the tx and rx pins, TX0/RX0 or TX1/RX1 or TX3,RX3
Thanks.

You can connect any serial port if you are using a recent dev version of the MultiWii firmware. On older versions it's only TX0/RX0.
TX/RX are crossed. tx of the OSD to rx of the flight controller and vice versa.
You may need to disconnect the OSD for firmware updates.

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

itain wrote:You can connect any serial port if you are using a recent dev version of the MultiWii firmware. On older versions it's only TX0/RX0.
TX/RX are crossed. tx of the OSD to rx of the flight controller and vice versa.
You may need to disconnect the OSD for firmware updates.

Do you know it is it posible to power the MinimOSD clone from 4S lipo battery?
I know that I can power the MinimOSD with 5v from FC board or some UBEC. If so, I need some way to measure the 4S Lipo battery. Can I connect directly to the 12 volts pin or must I use some sensor else? Thanks again.

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

Hi rortega,

best way to do this with minimOSD is to use the voltage monitor of multiwii, use a voltage divider konsisting of 2 resistrors like here http://www.rcgroups.com/forums/showthread.php?t=1340771

Mis wrote:BTW for more than 3S battery we can different divider because 51k/33k can measure only up to 12.5V battery voltage. With 100k/33k we can monitor up to 6S packs. For 100k/33k divider, the VBATSCALE should be about 86.


then enable the "VBAT" option in the multiwii code
and in the rushduino osd software by kataventos select

#define MAINVOLTAGE_VBAT // Uncomment to change from MAIN VLOTAGE Analog Pin to MwVbat (must be defined on MWcode)

after youve loaded the software maybee you need to go to the config screen (page 3) of the OSD which you acces via max-throttle max yaw and max pitch (took me a while to find this, had no yaw on my multiwii-wing ;) )

kind regards Chris

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

Just a quick easy one for the developers, I checked out the latest version and there is a difference in the defines in the config.h and the Max7456.ino

the config.h has

#define MINIM
------------------
and the max7456 has

#if defined MINIMOSD

not a big deal, but moving forward this should be changed.

Thanks for all the hard work.

Ross

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

power67 wrote:Just a quick easy one for the developers, I checked out the latest version and there is a difference in the defines in the config.h and the Max7456.ino

the config.h has

#define MINIM
------------------
and the max7456 has

#if defined MINIMOSD

not a big deal, but moving forward this should be changed.

Thanks for all the hard work.

Ross

Yes I saw that, I correct it in my dev version, and I'm sure also Itai saw that. Itai is reviewing all sketch and soon we will have a new release.
Bye, carlo

itain
Posts: 75
Joined: Tue Aug 23, 2011 10:32 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

Thanks for reporting. I already fixed that in my code and will push to the repository later today.

In the mean time, here's a recording from last Friday. New updates to the OSD firmware are on the way. Pilot (non FPV) is Barel Atanelov.

https://www.youtube.com/watch?v=7i1gbHUTq3Q

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

By the moment my MinimOSD clone from goodluckbuy is working but I have problems with the charset map. I have loaded it several times without success.
I first upload de sketch Max7456_Font_Update.ino
After that I upolad the Rushduino.mcm (Rush_KV_0.1 Font _Map, Nov 23) with a diferent com serial sortware (sscom32E from www.mcu51.com) because I can't run realterm in my Windows 7 64 bit. Apparently the upload proccess finished with success.
Then, I upload de sketch rush-osd-development-642b3a5fc1d6 (RUSH KV 2.1 with the #define MINIMOSD corrected) and I see the old charset map (it seem's like some asian language) on the screen.

By default, in the config.h of the rush-osd-development-642b3a5fc1d6 stekch is defined the video as:

Code: Select all

#define VideoSignalType_PAL


But in the Max7456_Font_Update.ino, by default is the video type is defined as NTCS. The lines for PAL are all commented:

Code: Select all

// with NTSC
#define ENABLE_display 0x08
#define ENABLE_display_vert 0x0c
#define MAX7456_reset 0x02
#define DISABLE_display 0x00

// with PAL
// all VM0_reg commands need bit 6 set
//#define ENABLE_display 0x48
//#define ENABLE_display_vert 0x4c
//#define MAX7456_reset 0x42
//#define DISABLE_display 0x40


Could be this the origin of my problem? Do I need to solder the PAL jumper in the back of the pc board.
Thanks.

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

Hi,

rortega did you change

Code: Select all

#define MAX7456SELECT 10//10-ss
#define MAX7456RESET 9//10-ss


to

Code: Select all

#define MAX7456SELECT 6//10-ss
#define MAX7456RESET 10//10-ss


btw. the "pal-jumper" on the minim-osd has no function ;)

and during upload you should get feedback on the terminal telling you how many percent are uploaded...

im using realterm on a windows7 64 machine maybee give 2.0.0.7 a try ;) http://www.softpedia.com/get/System/Sys ... Term.shtml


kind regards chris

itain
Posts: 75
Joined: Tue Aug 23, 2011 10:32 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

@rortega, I think the definitions in Max7456_Font_Update.ino must be changed for the MinimOSD. See below.
Also, I have added rush-osd-development-af0684237b48. It changes the functions that display voltage and current. I have not test-flown it yet (and also I do not yet have a current meter on my quadcopter). If you care to try it I will appreciate your comments.

Code in Max7456_Font_Update.ino (RUSHDUINO only):

Code: Select all

#define DATAOUT 11//11-MOSI
#define DATAIN  12//12-MISO
#define SPICLOCK 13//13-sck
#define MAX7456SELECT 10//10-ss
#define MAX7456RESET 9//10-ss
#define VSYNC 0x02// INT0
Try to replace the above code with the definitions below (and make sure to #define MINIMOSD). If this works I will upload the change to the repository.

Code: Select all

//#define RUSHDUINO
#define MINIMOSD

#define DATAOUT 11              // MOSI
#define DATAIN  12              // MISO
#define SPICLOCK  13            // sck

#if defined MINIMOSD
  #define MAX7456SELECT 6       // ss
  #define MAX7456RESET 10       // RESET
#endif

#if defined RUSHDUINO
  #define MAX7456SELECT 10      // ss
  #define MAX7456RESET 9        // RESET
#endif

#define VSYNC 2                 // INT0

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

It works !!!!! I changed MAX7456SELECT and MAX7456RESET values as you told.
Thanks too much!!!
:D :D :D

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

dynai wrote:...
after youve loaded the software maybee you need to go to the config screen (page 3) of the OSD which you acces via max-throttle max yaw and max pitch (took me a while to find this, had no yaw on my multiwii-wing ;) )
...


Do yo mean max yaw to the right?

itain
Posts: 75
Joined: Tue Aug 23, 2011 10:32 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

rortega wrote:Do yo mean max yaw to the right?

Unarm motors, then:
Trottle - center.
Yaw - full right.
Pitch - full forward.
Hold until the menu shows on the OSD.

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

Happy New Year mates, who fly the first day of the year will fly well for all the year :D

Today I made my fourth test ground piloting flight with Minim OSD/Rushduino/Kataventos with my last mods and data format routines by Itain.
Here you can see the vid http://www.youtube.com/watch?v=Rd-4k8JgrZ8.
After disarming you can see the automatic display of page 6 "Statistics".
Bye all
Carlo

User avatar
dramida
Posts: 473
Joined: Mon Feb 28, 2011 12:58 pm
Location: Bucharest
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by dramida »

I am impressed with Rushduino versatility. I have a minim OSD and i want to program it with Rushduino. As i understand, it is necessary to not only upload the Atmega328 sketch in Arduino but to upload a character set in MAX7456 video driver. I know this information is scattered around 74 pages.

Would be very useful to make a tutorial for new entry users on on how to set up Rushduino. In this way new users would participate in evolving Rushduino along with MWC.

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

dramida wrote:...
...
Would be very useful to make a tutorial for new entry users on on how to set up Rushduino. In this way new users would participate in evolving Rushduino along with MWC.

Hi Dramida,
I attached a zip file with the arduino sketch for Rush/Minim OSD board, a PDF manual and an .mcm file that is a char set to upload in max7456.
Thanks to original developers of all above we can start up with this new adventure.
Here http://code.google.com/p/rush-osd-development/downloads/list is the code repository for the latest releases (for this thanks to Kataventos and Itain).
Bye
Carlo
Attachments
Rush_Minim_OSD_tools.zip
Tools for char upload
(151.33 KiB) Downloaded 240 times

carlonb
Posts: 210
Joined: Sun Apr 03, 2011 6:29 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

New fly test with Mwii Rushduino S/W and Minim OSD.

http://www.youtube.com/watch?v=pO5suA6vA3U&feature=youtu.be

I have modified the charset with new symbols and smaller numbers and letters, now the screen is much better and clean.
Cheers,
Carlo

trailblazer
Posts: 12
Joined: Wed Nov 14, 2012 11:31 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by trailblazer »

Is your new charset already available for download? ATM I´m not that motivated to include all your improvements and bugfixes that have been done by you guys in my own version of the rushduino SW. So I´m back on main road ;)

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

trailblazer wrote:Is your new charset already available for download? ATM I´m not that motivated to include all your improvements and bugfixes that have been done by you guys in my own version of the rushduino SW. So I´m back on main road ;)


I´m sure that you have your own great version of this rush thing.
Just keep in mind that this is a community, sometimes there is one thing or another that make us a little disturbed, but the main thing is to develop stuff. Remember that there is a guy that wrote your SW and his name is J.Gab.

I can assure you that your CharM is not available for download on the repository, and if it was, not without your name on it.

We all appreciate your work, keep yourself close.

EDIT: We are working on KV 2.1, it will not be radically different, but we work for everyone, keeping this SW working, and the most important, BUG FREE.

MINIMOSD IS FULLY IMPLEMENTED :mrgreen:
Last edited by kataventos on Fri Jan 04, 2013 1:18 am, edited 1 time in total.

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@ Dramida

The WIKI is going to be edited with the help of you all, if I forgot something please report.

http://code.google.com/p/rush-osd-devel ... Map_Upload

trailblazer
Posts: 12
Joined: Wed Nov 14, 2012 11:31 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by trailblazer »

kataventos wrote:
trailblazer wrote:Is your new charset already available for download? ATM I´m not that motivated to include all your improvements and bugfixes that have been done by you guys in my own version of the rushduino SW. So I´m back on main road ;)


I´m sure that you have your own great version of this rush thing.
Just keep in mind that this is a community, sometimes there is one thing or another that make us a little disturbed, but the main thing is to develop stuff. Remember that there is a guy that wrote your SW and his name is J.Gab.

I can assure you that your CharM is not available for download on the repository, and if it was, not without your name on it.

We all appreciate your work, keep yourself close.

EDIT: We are working on KV 2.1, it will not be radically different, but we work for everyone, keeping this SW working, and the most important, BUG FREE.

MINIMOSD IS FULLY IMPLEMENTED :mrgreen:


Ups - I think you got me completely wrong! I´m a lousy programmer and just wanted to test out some stuff on the great codebasis that has been developed here. I shared all the stuff that I have done, even the custom charset, here in the thread. Nothing more happens to my SW so far. The big problem is the incompatability of the charsets and the fixed screenlayout (that I didn´t liked). It is not that easy to get this in line with all the "official" developments going on here. I haven´t done any community based programming project yet and have no experience with that, so sorry if I acted a little bit too "closed" for some of you.
I really appreciate all the work of you guys, so thats what I meant when I said " on the main road again".

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@ Trailblazer

your lousy programming got us a real time AH! it´s not so lousy after all :roll:

Carlonb is working hard to get things different, I also don´t think that this new screen layout or char map is going to make the difference, but I will work with him to make some real difference on 2.2 dev.

You are welcome if you want to make part, you have edited a char map before ;) with the right tools is easy as a few hours around it.

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

Ok guys, while I sort out an issue with the direction home and such I thought I would offer another function to the OSD.

I have seen some OSD that show the current throttle position so I added that in. I am not sure if anyone wants this function but it may be good for planes and wings to keep at a good cruise setting.

anyway, it is not great coding but it works. the ugly part is that I would like to create a right justify function but have not got there yet so I just did the best I could to right justify it. I am new to Arduino coding so dont bash me too hard. Perhalps if there is interest in this function, someone can write it better and add it to the next rev. I did not assisn a #define for it yet.

it "turns on" when the system is armed and it also automaticly calibrates to your throttle settings.

Thanks
Ross

Place this in the Screen.ino

Code: Select all

void displayCurrentThrottle(void)
{
  // CurentThrottlePosition is set in Config.h to line 11 above flyTimePosition
  // Calibrate high and low throttle settings  --defaults set in GlobalVariables.h 1100-1900
  if (MwRcData[THROTTLESTICK] > HighT) HighT = MwRcData[THROTTLESTICK] -5;
  if (MwRcData[THROTTLESTICK] < LowT) LowT = MwRcData[THROTTLESTICK];
 
  //insert symbol for throttle
  screenBuffer[0]=0xC9;
  MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]);
  //map current throttle to 0 -100 scale
  if(!armed) {
    screenBuffer[0]='-';
    screenBuffer[1]='-';
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+2);
  }
  else
  {
    int CurThrottle = map(MwRcData[THROTTLESTICK],LowT,HighT,0,100);
    //begin right justify
    int Digit = CurThrottle;
    int CTDigit = CurThrottle % 10;
    itoa(CurThrottle % 10,screenBuffer,10);
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+3);
    CurThrottle /= 10;    // Shift by one digit
    CTDigit = CurThrottle % 10;
    if (Digit < 10){ screenBuffer[0] = 0;  }
    else { itoa(CurThrottle % 10,screenBuffer,10);}
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+2);
    CurThrottle /= 10;    // Shift by one digit
    CTDigit = CurThrottle % 10;
    if (Digit < 100){ screenBuffer[0] = 0;}
    else { itoa(1,screenBuffer,10);}
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+1);
    // add % to end
    screenBuffer[0]='%';
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+4);
  }
 
}


Place this in the Config.h under the Middle of the screen section

Code: Select all

const int CurentThrottlePosition[2][2]=            {
  LINE11+22  ,LINE11+21  ,LINE11+23+60  ,LINE11+21+60  };


Place this in the GlobalVariable.h

Code: Select all

//For Current Throttle
int LowT = 1100;
int HighT = 1900;

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

power67 wrote:Ok guys, while I sort out an issue with the direction home and such I thought I would offer another function to the OSD.

I have seen some OSD that show the current throttle position so I added that in. I am not sure if anyone wants this function but it may be good for planes and wings to keep at a good cruise setting.

anyway, it is not great coding but it works. the ugly part is that I would like to create a right justify function but have not got there yet so I just did the best I could to right justify it. I am new to Arduino coding so dont bash me too hard. Perhalps if there is interest in this function, someone can write it better and add it to the next rev. I did not assisn a #define for it yet.

it "turns on" when the system is armed and it also automaticly calibrates to your throttle settings.

Thanks
Ross


Hi Ross,

this software is what we all can do with it ;)
I will test your contribution and report, I´m sure that many will like it!

Cheers,
KV

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@ Power67

THROTTLESTICK indicator not working, please verify using last developments from repository.
I´m working on debugging what we have now for 2.1 and testing Minim.

Thanks,
KV

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

Just checked the repository

28 minutes ago, you did some cleaning in the config.h file and removed the THROTTLESTICK #define

it was

Code: Select all

// RX CHANEL IN MwRcData table
#define ROLLSTICK        0
#define PITCHSTICK       1
#define YAWSTICK         2
#define THROTTLESTICK    3


you removed that section.

nevermind..... just checked again and it is back. 1 min ago
Try it again it should work.

Thanks

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

boy do I feel like an amateur.

Found the right justify code that you guys have got in place...... its much cleaner

change the screen.ino part to

Code: Select all

void displayCurrentThrottle(void)
{
  // CurentThrottlePosition is set in Config.h to line 11 above flyTimePosition
  // Calibrate high and low throttle settings  --defaults set in GlobalVariables.h 1100-1900
  if (MwRcData[THROTTLESTICK] > HighT) HighT = MwRcData[THROTTLESTICK] -5;
  if (MwRcData[THROTTLESTICK] < LowT) LowT = MwRcData[THROTTLESTICK];
 
  //insert symbol for throttle
  screenBuffer[0]=0xC9;
  MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]);
  //map current throttle to 0 -100 scale
  if(!armed) {
    screenBuffer[0]='-';
    screenBuffer[1]='-';
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+2);
  }
  else
  {
    int CurThrottle = map(MwRcData[THROTTLESTICK],LowT,HighT,0,100);
    //begin right justify
    ItoaPadded(CurThrottle,screenBuffer,3,0);
    screenBuffer[3]='%';
    MAX7456_WriteString(screenBuffer,CurentThrottlePosition[videoSignalType][screenType]+1);
  }
 
}

kataventos
Posts: 702
Joined: Sun Aug 28, 2011 8:14 pm
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

Power67 implementation is working great and it will be on next release ;)
Like many are saying, we need a new Char Map, we are going to work on that.
This Implementation will be available without symbol for now.

rortega
Posts: 34
Joined: Sat Aug 11, 2012 7:34 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by rortega »

dynai wrote:Hi rortega,

best way to do this with minimOSD is to use the voltage monitor of multiwii, use a voltage divider konsisting of 2 resistrors like here http://www.rcgroups.com/forums/showthread.php?t=1340771

Mis wrote:BTW for more than 3S battery we can different divider because 51k/33k can measure only up to 12.5V battery voltage. With 100k/33k we can monitor up to 6S packs. For 100k/33k divider, the VBATSCALE should be about 86.


then enable the "VBAT" option in the multiwii code
and in the rushduino osd software by kataventos select

#define MAINVOLTAGE_VBAT // Uncomment to change from MAIN VLOTAGE Analog Pin to MwVbat (must be defined on MWcode)

after youve loaded the software maybee you need to go to the config screen (page 3) of the OSD which you acces via max-throttle max yaw and max pitch (took me a while to find this, had no yaw on my multiwii-wing ;) )

kind regards Chris


I've build the divider with 100k/33k and I've seted up VBATSCALE to differents values (including 86), but I get on screen arround 4.7 v.
I thought that the problem could be the analog input pin, so I've tried defining in config.h A3 and also A0, but i can't see the correct voltage.
Do any body know the correct pin for the CRIUS AIO pro?

power67
Posts: 33
Joined: Wed Aug 22, 2012 8:37 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by power67 »

rortega,

have you played with the VBATSCALE in the multiwii code? I had to adjust my quite a bit in order to get it work. For some reason, I too did not get the values that I calculated so just adjusted to match a known voltage on the best charged battery I had.
Try to use A3 as that is the standard AD pin and you will not have to reassign it in the code.

--(EDIT)-- I also found that when adjusting the VBATSCALE value, I offten had to run the clear EEPROM arduino example to get the new value to go in.

Hope this helps

Ross

dynai
Posts: 32
Joined: Tue Mar 01, 2011 10:01 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by dynai »

Hi,

the Crius Pro is Fitted with an Atmega 2560 as is the Flyduino Mega :)
A0 is the correct Voltage Pin for that board ;) -> (http://multiwii.googlecode.com/svn/trun ... 20Mega.png)
you wont need to change the pin in the code as the Arduino MEGA as Target-Board defines this pin in the multiwii software :)

you should see the correct voltage when you connect the multiwii-conf and connect gnd of your flight pack to gnd of the controller and plus of your flightpackt to the voltage divider :)

i allways get 4.7v when there is no battery connected to my board ;)

kind regards Chris

sisco211
Posts: 3
Joined: Sun Jan 06, 2013 1:17 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by sisco211 »

Hello and great job.

I ve got flyduino board and i want to know where i could find a rushduino osd board for France. And how to wire this board. Could i used serial port 3 for exemple.

Thx Sisco

itain
Posts: 75
Joined: Tue Aug 23, 2011 10:32 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

sisco211 wrote:Hello and great job.

I ve got flyduino board and i want to know where i could find a rushduino osd board for France. And how to wire this board. Could i used serial port 3 for exemple.

Thx Sisco

I do not know if an original Rushduino osd board is still available. New versions of the software are compatible with MinimOSD and compatible boards. The limitation is that these boards do not have analog inputs so you need to get voltage and current reading from the main board.

If you are using any of the recent development versions of MultiWii you can connect to any serial port available. If you are on the official 2.1 or older that will work only on serial port 0.

-- Itai

User avatar
Bledi
Posts: 187
Joined: Sat Sep 10, 2011 6:36 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by Bledi »

OK I had some news of Jean Gab. I can't explain you but for the moment he can't continu developpement and other.
I whish him to be better rapidly.

Thanks for all that are working on this OSD !

Post Reply