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
staroman
Posts: 16
Joined: Tue Dec 13, 2011 9:52 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by staroman »

Hi,
tried the Modelci code on my Rushduino 1.2 . It doesnt work :-( . Made the changes how described. Fly with 2.11 dev 1177 ... Any hints?
Jan

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

staroman wrote:Hi,
tried the Modelci code on my Rushduino 1.2 . It doesnt work :-( . Made the changes how described. Fly with 2.11 dev 1177 ... Any hints?
Jan


Hi,
Did you run this code?
http://osd-max7456-multiwii.googlecode.com/files/osd_max7456_multiwii_V1_1_MW2_1.zip

Note: The code for Multiwii2.1 only works with serial port 0. (Even mega boards.)

staroman
Posts: 16
Joined: Tue Dec 13, 2011 9:52 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by staroman »

Hi,
no i tried the other code for your diy board and changed the things what you wrote. With the MW 2.1 the original Rushduino SW works. But the dev changed something in the serial protocol. So i hoped you sw will work...
Jan

vobo69
Posts: 2
Joined: Wed Oct 24, 2012 10:18 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by vobo69 »

katana wrote:Finally I have found the hardware to record the video.

https://vimeo.com/42752848

In the first part there is the video with the osd, from the minute (1.47) the video bypassing the osd.
To notice also the values of position and baro height...


I got a solution for this problem:

See -> http://fpv-community.de/showthread.php? ... hduino-OSD

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

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

vobo69 - I used google translate to try to understand your link. If I understood correctly the problem is noisy image (especially at the top). The solution is changing C3 and C4 with 47uF electrolytic capacitors (or possibly easier - soldering 47uF capacitors in parallel with the existing SMT capacitors). I have the V1.1 board and experience the same noisy image.

vobo69
Posts: 2
Joined: Wed Oct 24, 2012 10:18 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by vobo69 »

@itain

I think it´s not a good idea to put the caps in parallel, because the 47uF are polarized, and the existing one´s at the board not. But it´s no big deal to get them desoldered.
I had a look at the datasheet, where some more combination´s of capacitors are listed. But they are all uF Caps. I don´t know, why there are nF Caps on the board.
I took the 47uF cap version, because this is the combination which is also used at the arducopter minimOSD (same MAX chip).
Another user, who had the same problems, did also the mod, an his problems were also gone.

Greetings
Volker


here with the original cap´s:
original cap´s
original cap´s


and here with the changed ones:
changed cap´s
changed cap´s

jy0933
Posts: 180
Joined: Wed Jun 27, 2012 4:24 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by jy0933 »

i was told it is possible to flash rushduino on minimosd to work with mwc... has anyone attempted ?

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@ Modelci

Ok I have eveything installed with the new FC. Can you remap it to work with the serial com 1 on mega 2560?
Last dev r1240 supose to "everything on all ports" but... it does not :)

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

ohh, and it does not even work with serial 0! everything is out of place:(

I was looking at the code and... where do you calibrate voltage and amp?

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

Hi,

Do not see even the first screen? Does not seem the Multiwii version number?

All I know, the new version has not changed anything with the use of an ordinary receiver. But, there are changes in the use of SBus, Spektrum and serial_sum_ppm receivers.

Sorry, I'm telling you the theoretical. I have burnt my diy board when I give the wrong voltage. I ordered a Minim-osd clone. I can start re-trials when it comes.

Greetings,
Oktay

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

modelci wrote:Hi,

Do not see even the first screen? Does not seem the Multiwii version number?

All I know, the new version has not changed anything with the use of an ordinary receiver. But, there are changes in the use of SBus, Spektrum and serial_sum_ppm receivers.

Sorry, I'm telling you the theoretical. I have burnt my diy board when I give the wrong voltage. I ordered a Minim-osd clone. I can start re-trials when it comes.

Greetings,
Oktay


OK, I fixed the displaced caracters and it is working with 2.1, congratulations on this good work!
Sorry for your burnned board :(
Last edited by kataventos on Fri Nov 02, 2012 10:11 pm, 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 »

With last dev r1240 I can access to OSD pages, some communication is missing, any idea?

EDIT: The funny thing is that in calibration menu I have ACC data in real time.

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

Working 96% with 2.1MWC :)

The voltage was easy to find solution using

Code: Select all

voltage=(analogRead(voltagePin)*1.1*DIVIDERRATIO)/102.3;

or in my case

Code: Select all

#define DIVIDERRATIO 25 // R1/R2 of voltagePin. Original 14

so, at this time I just have two words for you: Great Job :D

I like the: no throttle, back to main screen without save ;)

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

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

modelci wrote:Hi,

Do not see even the first screen? Does not seem the Multiwii version number?

All I know, the new version has not changed anything with the use of an ordinary receiver. But, there are changes in the use of SBus, Spektrum and serial_sum_ppm receivers.

Sorry, I'm telling you the theoretical. I have burnt my diy board when I give the wrong voltage. I ordered a Minim-osd clone. I can start re-trials when it comes.

Greetings,
Oktay

Hi Oktay,
Great job, I have one question, it's your arduino sketch compatible with MinimOsd hardware ?
If not, what I need to change in your sketch to adapt the control of MAX7456 ?
Thanks, Carlo

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

kataventos wrote:Working 96% with 2.1MWC :)

so, at this time I just have two words for you: Great Job :D

I like the: no throttle, back to main screen without save ;)


I'm glad you liked.

carlonb wrote:Hi Oktay,
Great job, I have one question, it's your arduino sketch compatible with MinimOsd hardware ?
If not, what I need to change in your sketch to adapt the control of MAX7456 ?
Thanks, Carlo


My board schema is here:
https://sites.google.com/site/modelatolyesi/Home/multicopter/osd-multiwii

Minim-OSD schema:
http://stuff.storediydrones.com/Minimal_OSD_v05-listing.rar

vsync connection only different.

http://fpv-community.de/showthread.php?10404-Minim-OSD-und-MultiWii/page5

I have not yet started to work on.

Greetings,
Oktay

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

Re: Rushduino OSD - Multiwii based open software osd

Post by carlonb »

Thanks very much for your reply.
I will take a look on both diagrams and see what I can do.
Sure I will ask you more... ;)
Bye, Carlo

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@ Modelci

found a bug! today I tried to change a PID value and it can not be saved!
I just only have seen it because I have my drone with almost perfect setup, I´m not the kind of guy always changing things... when it´s good don´t screw around with it! Anyway I needed to change P from GPS and could not save it!

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

I'm sorry it's my fault. I should tell you how it works after the changes made.

PID or RC-TUNING changes need eeprom writing on 5/6 calibration page to be permanent.

jsflyrv
Posts: 15
Joined: Sun Jun 17, 2012 5:40 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by jsflyrv »

Modelci could you please explain that? the problem with this board all along has been not being able to change PID settings

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 »

Could you do an rushduino software version witch compile on an Atmega 16? (that would be compatible with remzibi hardware and many of us already have one )

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

jsflyrv wrote:Modelci could you please explain that? the problem with this board all along has been not being able to change PID settings


1- When you have made the changes (pid or rc-tuning), exit with "SaveExit". These changes will be written to the SRAM on the MW FC.
2- Make experiments with changed values.
3- If everything is OK. Go to the config screen 5/6 Calibration. Push right YAW stick while on the "MW EEPROM Write". Permanently written to the MW FC EEPROM.

This is the property that I have added for me.

If you do not like this feature make the following changes in serial.ino:

Code: Select all

 void saveExit()
{
  waitStick=3;
  serialWait=0;

  if (configPage==1){
    Serial.write('$');
    Serial.write('M');
    Serial.write('<');
    checksum=0;
    dataSize=30;
    Serial.write((byte)dataSize);
    checksum ^= dataSize;
    Serial.write(MSP_SET_PID);
    checksum ^= MSP_SET_PID;
    for(i=0; i<PIDITEMS; i++){
      Serial.write(P8[i]);
      checksum ^= P8[i];
      Serial.write(I8[i]);
      checksum ^= I8[i];
      Serial.write(D8[i]);
      checksum ^= D8[i];
    }
    Serial.write((byte)checksum);
     MSPcmdsend = MSP_EEPROM_WRITE;
      blankserialRequest(MSPcmdsend);
  }

  if (configPage==2){
    Serial.write('$');
    Serial.write('M');
    Serial.write('<');
    checksum=0;
    dataSize=7;
    Serial.write((byte)dataSize);
    checksum ^= dataSize;
    Serial.write(MSP_SET_RC_TUNING);
    checksum ^= MSP_SET_RC_TUNING;
    Serial.write(rcRate8);
    checksum ^= rcRate8;
    Serial.write(rcExpo8);
    checksum ^= rcExpo8;
    Serial.write(rollPitchRate);
    checksum ^= rollPitchRate;
    Serial.write(yawRate);
    checksum ^= yawRate;
    Serial.write(dynThrPID);
    checksum ^= dynThrPID;
    Serial.write(thrMid8);
    checksum ^= thrMid8;
    Serial.write(thrExpo8);
    checksum ^= thrExpo8;
    Serial.write((byte)checksum);
     MSPcmdsend = MSP_EEPROM_WRITE;
      blankserialRequest(MSPcmdsend);
  }

  if (configPage==3 || configPage==4){
    writeEEPROM();
  }
  configExit();
}
Last edited by modelci on Sun Nov 04, 2012 9:41 pm, edited 1 time in total.

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

dramida wrote:Could you do an rushduino software version witch compile on an Atmega 16? (that would be compatible with remzibi hardware and many of us already have one )


In the existing features will not fit in 168. Will be a lot of clipped features.
Gave up a lot even to fit 328.

staroman
Posts: 16
Joined: Tue Dec 13, 2011 9:52 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by staroman »

Has anyone a sw version for the rushduino working with the devs?
Jan

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

modelci wrote:
jsflyrv wrote:Modelci could you please explain that? the problem with this board all along has been not being able to change PID settings


1- When you have made the changes (pid or rc-tuning), exit with "SaveExit". These changes will be written to the SRAM on the MW FC.
2- Make experiments with changed values.
3- If everything is OK. Go to the config screen 5/6 Calibration. Push right YAW stick while on the "MW EEPROM Write". Permanently written to the MW FC EEPROM.

This is the property that I have added for me.

If you do not like this feature make the following changes in serial.ino:



You know... I´ve already been there and ask myself "what´s the MW EEPROM Write?... I do that on exit ! :ugeek: Now I have to say:
-Another A for you!

I think it´s awesome because in the past when I was in a comprehension fase of PID behavior, made changes to worse and forgot to write the start point values, so, this is very usefull now, and a lot in past ;)

You are definitely the new Boss :mrgreen:
Last edited by kataventos on Wed Nov 14, 2012 1:33 pm, 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 »

modelci wrote:
dramida wrote:Could you do an rushduino software version witch compile on an Atmega 16? (that would be compatible with remzibi hardware and many of us already have one )


In the existing features will not fit in 168. Will be a lot of clipped features.
Gave up a lot even to fit 328.


But... it´s possible to reduce it (code) with patience, or not? I´ve read (in this forum, I think...) that that sometimes the same "code" can be reduced almost 50% without clipping features? Is this correct?

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

staroman wrote:Has anyone a sw version for the rushduino working with the devs?
Jan


It will for sure in time for MWC2.2 (now, I have no doubt that this hardware will rock!) but, let´s just give Modelci a brake for the new hardware arrive! ;)

:idea: Someone should give Modelci a Rushduino for free! Are they still available?

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 want to build this OSD, i need an clear schematic, a list of components and a PCB in 50x50 square, is anywhere i can find that? (i'll build another one to donate here )

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

dramida wrote:I want to build this OSD, i need an clear schematic, a list of components and a PCB in 50x50 square, is anywhere i can find that? (i'll build another one to donate here )



Have you seen the previous posts/links? Ithink there is a schematic!

EDIT:

My board schema is here:
https://sites.google.com/site/modelatol ... d-multiwii

Minim-OSD schema:
http://stuff.storediydrones.com/Minimal ... isting.rar

vsync connection only different.

http://fpv-community.de/showthread.php? ... iWii/page5

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@Modelci

1- Suddently my Alt is 23556m (when disarmed)!!! can you explain this? I have on serial 3 the FRSKY data sent correct to my 9x, so, the problem have to be on OSD soft?! Any idea?
2- The horizon line is a litle bit lazy! Can we fix that to be more natural with movements?

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

kataventos wrote:@Modelci

1- Suddently my Alt is 23556m (when disarmed)!!! can you explain this? I have on serial 3 the FRSKY data sent correct to my 9x, so, the problem have to be on OSD soft?! Any idea?
2- The horizon line is a litle bit lazy! Can we fix that to be more natural with movements?


1- Actually be 235m? We read in centimeters from MW and translate meters. But, I have not encountered this error during Trials.
2-

Code: Select all

void displayHorizon(short rollAngle, short pitchAngle)
{
  rollAngle = rollAngle / 10;
  pitchAngle = pitchAngle /10;
  if(pitchAngle>25) pitchAngle=25;
  if(pitchAngle<-20) pitchAngle=-20;
  if(rollAngle>40) rollAngle=40;
  if(rollAngle<-40) rollAngle=-40;
  pitchAngle = pitchAngle /5;

  displayHorizonPart(rollAngle,0,pitchAngle );
  displayHorizonPart(rollAngle*0.75,1,pitchAngle );
  displayHorizonPart(rollAngle*0.5,2,pitchAngle );
  displayHorizonPart(rollAngle*0.25,3,pitchAngle );
  displayHorizonPart(0,4,pitchAngle );
  displayHorizonPart(-1*rollAngle*0.25,5,pitchAngle );
  displayHorizonPart(-1*rollAngle*0.5,6,pitchAngle );
  displayHorizonPart(-1*rollAngle*0.75,7,pitchAngle );
  displayHorizonPart(-1*rollAngle,8,pitchAngle );

#if defined(DISPLAY_HORIZON_BR)
  //Draw center scree
  screen[219-30]=0x03;
  screen[224-30-1]=0x1D;
  screen[224-30+1]=0x1D;
  //screen[224-30-2]=0x1D;
  //screen[224-30+2]=0x1D;
  screen[224-30]=0x01;
  screen[229-30]=0x02;
#if defined WITHDECORATION
  screen[128]=0xC7;
  screen[128+30]=0xC7;
  screen[128+60]=0xC7;
  screen[128+90]=0xC7;
  screen[128+120]=0xC7;
  screen[128+12]=0xC6;
  screen[128+12+30]=0xC6;
  screen[128+12+60]=0xC6;
  screen[128+12+90]=0xC6;
  screen[128+12+120]=0xC6;
#endif
#endif
}


There are a lot of calculation. Maybe need to change of the method. But at the moment I do not know.

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

Hi modelci, did you received your board already? :) Can you tell at this time something about compatibility with the new protocol r1240 (2.2_MWC)? did you already understood the difference?
Looking at the code it looks a lot different!

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

Hi,
My order seems on the road since October 27. I studied a little on r1240. I have not seen a mismatch outside the radio type selection. I think to solve this is by directly entering datasize, for now.

Code: Select all

if ((cmdMSP==MSP_RC) && (dataSize==16))  
  {
    for(i=0;i<8;i++) MwRcData[i] = read16();
  }


(dataSize==RC_CHANS * 2) ?

#if defined(SBUS)
#define RC_CHANS 18
#elif defined(SPEKTRUM) || defined(SERIAL_SUM_PPM)
#define RC_CHANS 12
#else
#define RC_CHANS 8
#endif

However, I'm talking about editing done for r1177.http://code.google.com/p/osd-max7456-multiwii/downloads/detail?name=osd_max7456_multiwii_V1_1.zip&can=2&q=

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

Re: Rushduino OSD - Multiwii based open software osd

Post by itain »

Hi, I suggest to change size checks in Serial.ino. Use >= and not ==. The protocol has changed several times and in all cases only new fields are added. By checking for >= you verify that what you use exists in the message and you can ignore newer stuff.

As far as I have checked (in the latest code from JohnyGab) MwRcData is only using the first four channels, so that specific code could be changed to

Code: Select all

if ((cmdMSP==MSP_RC) && (dataSize>=8))  
  {
    for(i=0;i<4;i++) MwRcData[i] = read16();
  }

Also change MwRcData to be array of 4.


The bigger problem with recent MultiWii versions (> 2.1) with handling the reply to MSP_STATUS. Bit positions now depend on which values exist in enum box, which depend on configuration. Since I do not use BOXCAMSTAB and BOXCAMTRIG, the value for ARMEDMODE, GPSHOMEMODE and GPSHOLDMODE must change in my OSD config.h file.

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

modelci wrote:Hi,
My order seems on the road since October 27. I studied a little on r1240. I have not seen a mismatch outside the radio type selection. I think to solve this is by directly entering datasize, for now.

Code: Select all

if ((cmdMSP==MSP_RC) && (dataSize==16))  
  {
    for(i=0;i<8;i++) MwRcData[i] = read16();
  }


Hope it arrives fast. Yes, the code I´m using have the above lines, but I can assure you that does not work! I can enter in OSD pages and see ACC and MAG info on the calib page, but I have nothng from FC on main screen!?

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@Itain

I see your point.
Your suggestion compiles but does not work either on r1240 dev, it works on 2.1.

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

Hi,
I ordered my card is still not. I'm trying to darkness.

I'd like to try the new code. I'd appreciate it if the result reported.

http://osd-max7456-multiwii.googlecode.com/files/osd_max7456_multiwii_V1_2.zip

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

modelci wrote:Hi,
I ordered my card is still not. I'm trying to darkness.

I'd like to try the new code. I'd appreciate it if the result reported.

http://osd-max7456-multiwii.googlecode.com/files/osd_max7456_multiwii_V1_2.zip


Later on I will test and report. Was this made thinking on r1240?

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

Thank you Kataventos.

This code for r1240. Still, made no correction for the modes. (Depending on the choice camstab camtrig.) I think an algorithm for it. Soon...

I'm not a C programmer. I'm an old retired man from periods of COBOL, FORTRAN4. So, developments it was a bit slow.

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

modelci wrote:Thank you Kataventos.

This code for r1240. Still, made no correction for the modes. (Depending on the choice camstab camtrig.) I think an algorithm for it. Soon...

I'm not a C programmer. I'm an old retired man from periods of COBOL, FORTRAN4. So, developments it was a bit slow.


:D I´ve seen C programmers running very much slower, I´m sure we all thank you for your time on this Boss :mrgreen:

User avatar
NikTheGreek
Posts: 348
Joined: Thu Dec 08, 2011 4:17 pm
Location: Greece
Contact:

Re: Rushduino OSD - Multiwii based open software osd

Post by NikTheGreek »

I´m sure we all thank you for your time on this Boss :mrgreen:


+1 ;)

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by vpb »

Hi all, I also want to build this osd board, awesome thing :D. Back 2-3 pages, I read
https://sites.google.com/site/modelatol ... d-multiwii

And I build this OSD board with Atmega328P & MAX7456? Are there some more points I have to look at?

Thanks!

modelci
Posts: 35
Joined: Tue Oct 09, 2012 11:20 am

Re: Rushduino OSD - Multiwii based open software osd

Post by modelci »

vpb wrote:Hi all, I also want to build this osd board, awesome thing :D. Back 2-3 pages, I read
https://sites.google.com/site/modelatol ... d-multiwii

And I build this OSD board with Atmega328P & MAX7456? Are there some more points I have to look at?

Thanks!


I corrected the error in the schema that page:
ATmega328P (PDIP) pin17 (Arduino pin11) MOSI to MAX7456 pin9 SDIN.
ATmega328P (PDIP) pin18 (Arduino pin12) MISO to MAX7456 pin11 SDOUT.
ATmega328P (PDIP) pin19 (Arduino pin13) SCK to MAX7456 pin10 SCLK.
ATmega328P (PDIP) pin16 (Arduino pin10) PCINT2 to MAX7456 pin8 CS on RUSHDUINO-OSD.
(ATmega328P (PDIP) pin12 (Arduino pin6) PCINT22 to MAX7456 pin8 CS on Minim-OSD).

I used the SparkFun max7456 breakout board. On that the card:
C9 and C10 are both 47 uF.
R5, R8, R9 and R10 not used.

I hope that helps.
Last edited by modelci on Wed Nov 14, 2012 4:10 pm, edited 1 time in total.

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 »

Has anyone the KiCad schematics of Rushduino?

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

Re: Rushduino OSD - Multiwii based open software osd

Post by trailblazer »

Hi, I´m new to all the "FPV" stuff, but started a project with a multiwii quad, fatshark TX system and a rushduino as osd hardware.
I already have modified the existung variants of the rushduino for my needs (mainly positions and what data shows up, integrated the ACS755 current sensor etc.).
Someone asked about a more "smooth" horizon - I was not that happy with the jumpy style on pitch changes on it too. So I tried to use another algorithm. ATM the resolution on the Y axis is still 8 bits/char, but I´ll try to improve that with the use of more exclusive chars in the charset (WII logo have to die ;) ).
I´m not that good in programming so maybe some simplifications can be done to reduce the amount of calculations.

Code: Select all

void displayHorizon(short rollAngle, short pitchAngle)
{
  if(pitchAngle>200) pitchAngle=200;
  if(pitchAngle<-200) pitchAngle=-200;
  if(rollAngle>400) rollAngle=400;
  if(rollAngle<-400) rollAngle=-400;

for(g=0;g<9;g++){
  singleBarVal[g]=((pitchAngle*1.6)+352) + (rollAngle*((g-4)*0.178));  // calc each bar position in the 9 columns (0-640; top down)
  if (singleBarVal[g]<0) singleBarVal[g]=0;                            // Limit
  if (singleBarVal[g]>639) singleBarVal[g]=640;                        // Limit
  }
 
for(g=0;g<9;g++){
  d= singleBarVal[g]*-1;
  c= singleBarVal[g]/10;
  f= (d/80)+3;        // calc row
  e= (c%8)-4;        // calc charvalue
  screen[240+(30*f)+10+g]=0x13-e;  // "+10" -> start left site; 0x13 "zero"char
  }


note: If you want to use that code be aware to change the procedure call in the main routine to

Code: Select all

if(MwSensorPresent&ACCELEROMETER) displayHorizon(MwAngle[0],MwAngle[1]);


Also, the current status Bits have changed in the latest dev versions of multiwii, these defines worked for me (not using horizonmode):

Code: Select all

// For Mode Active 211 dev 1240
#define STABLEMODE 1
#define BOXCAMSTAB 2
#define BAROMODE 4
#define MAGMODE 8
#define ARMEDMODE 16
#define GPSHOMEMODE 64
#define GPSHOLDMODE 32
#define BOXCAMTRIG 128
#define BOXCAMTRIG    256

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

@Modelci

Thank you, your new code work´s with r1240 :mrgreen: The only bug I found at this time is motor still off when on. Everything else seems correct, will continue tests...

Another Bug: I found the problem I told you before about the height (23550m), when the altitude on Gui is negative the Rushduino reads this crazy numbers! I can see that now because r1240 have a better code for the baro I use (MS5611-01BA01), so, can you code that to be correct with MWC? sometimes we need to fly below the altitude at which lift (stone quarries) :P

Will continue...

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:Hi, I´m new to all the "FPV" stuff, but started a project with a multiwii quad, fatshark TX system and a rushduino as osd hardware.

(WII logo have to die ;) ).
I´m not that good in programming so maybe some simplifications can be done to reduce the amount of calculations.


Welcome Trailblazer, thanks for joining us.

So, about the logo... I think that if it needs to die, so be it! everyone knows that we are using Multiwii :mrgreen: about your modified variants for a smooth horizon line, I will try that to ;) Question if you do not use it, how do you know that works?
Last edited by kataventos on Thu Nov 15, 2012 5:04 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 »

Definitively the altitude and meters per second have a problem with negative values and presents crazy numbers... Any ideas?

1-Velocity delivers a crazy number descending on power up synchronized with the time (seconds), then it stops on 0!

2-Motor on/off don´t work
3-ACC on does not check box
4-GPS home is on GPS hold
5-GPS hold says that motors are on

EDIT: Tomorrow I will test Trailblazer mode active
Last edited by kataventos on Thu Nov 15, 2012 5:21 am, edited 1 time in total.

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Rushduino OSD - Multiwii based open software osd

Post by vpb »

modelci wrote:I corrected the error in the schema that page:
ATmega328P (PDIP) pin17 (Arduino pin11) MOSI to MAX7456 pin9 SDIN.
ATmega328P (PDIP) pin18 (Arduino pin12) MISO to MAX7456 pin11 SDOUT.
ATmega328P (PDIP) pin19 (Arduino pin13) SCK to MAX7456 pin10 SCLK.
ATmega328P (PDIP) pin16 (Arduino pin10) PCINT2 to MAX7456 pin8 CS on RUSHDUINO-OSD.
(ATmega328P (PDIP) pin12 (Arduino pin6) PCINT22 to MAX7456 pin8 CS on Minim-OSD).

I used the SparkFun max7456 breakout board. On that the card:
C9 and C10 are both 47 uF.
R5, R8, R9 and R10 not used.

I hope that helps.

Thank you Modelci! Will give it a try!

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

Re: Rushduino OSD - Multiwii based open software osd

Post by trailblazer »

I made a short Video of my Version:

http://www.youtube.com/watch?v=yjcGTwjS ... e=youtu.be

Apart from the different layout to the original version, I also changed the charset (smaller Font).

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

Re: Rushduino OSD - Multiwii based open software osd

Post by kataventos »

kataventos wrote:Definitively the altitude and meters per second have a problem with negative values and presents crazy numbers... Any ideas?

1-Velocity delivers a crazy number descending on power up synchronized with the time (seconds), then it stops on 0!

2-Motor on/off don´t work
3-ACC on does not check box
4-GPS home is on GPS hold
5-GPS hold says that motors are on

EDIT: Tomorrow I will test Trailblazer mode active


@Modelci
PID adjustment´s are OK and it is writing on EEPROM.

@TrailBlazer
"modeactive" does not fix them all, ACC now check box but motors still off when on and GPS still the same, not working as it should.

Post Reply