Announcement

Collapse
No announcement yet.

uVGA-II display parameters

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • uVGA-II display parameters

    Hello,
    I am using the uVGA-II with a Xenarc 705 monitor with a native resolution of 800 x 480. I have read in the forums that using gfx_Set(SCREEN_RES,2) would set the uVGA-II to 800 x 480.
    However, the UVGA-II_GFX2.FNC lists mode 2 as 800x600:RES_800x600 2 // screen res constant for gfx_Set(SCREEN_RES, RES_800x600);
    I wrote a short program that takes serial input and moves a plotted pixel:repeat txt_MoveCursor(10,0); print("x = ",x," "); print("y = ",y," "); temp1:= serin(); if(temp1>0) gfx_MoveTo(x,y); gfx_ObjectColour(BLACK); gfx_Dot(); if(temp1 == 0x38) y-=1; //8 = move up if(temp1 == 0x32) y+=1; //2 = move down if(temp1 == 0x34) x-=1; //4 = move left if(temp1 == 0x36) x+=1; //6 = move right gfx_MoveTo(x,y); gfx_ObjectColour(WHITE); gfx_Dot(); endifforever
    With this program I can move the pixel from x=0 to x=799, and y=0 to y=400. So it looks like it is really 800 x 400? Would anyone know what the required parameters would be to set the uVGA-II to 800 x 480?
    _______________
    Best Regards,
    Howard

  • #2


    gfx_Set(SCREEN_RES,2) should indeed be 800 x 480

    Have you tried the Xenarc FAQ http://xenarc.com/faq.html#QA1 regarding setting the monitor to 800x480

    Which model is it? Maybe it's finicky about the front/back porch and sync widths (in which case I might have to tell you how to fiddle the uVGA-II)
    Mark

    Comment


    • #3


      Hi,

      I've got the answer, I use Xenarc monitors, too.

      I'll post the code in a little while to configure it for the higher resolutions (840x480 and more), I'm just away from the office now.

      ---autologic

      Comment


      • #4


        The monitor is the Xenarc 705YV. I did see the FAQ, however doesn't the utility mentioned pertain to pc-based video cards? I also saw where they mentioned doing an AUTO, but that does not seem to help.....
        Autologic, any info you have would be greatly appreciated!
        Thanks everyone!
        _______________
        Best Regards,
        Howard

        Comment


        • #5


          So "For the 705 series, you have to go into the OSD menu and change aspect ratio to 800x480." had no effect?

          OK, I'll post some stuff in the morning (my time)
          Mark

          Comment


          • #6


            Hmm, looks like you might get it tonight.

            You can always find the SSD1963 datasheet and turn the information on the Xenarc FAQ into parameter settings, but you might find it easier to use the 'builtin' calculator in DISP.

            I have built a sample one with the three 'standard' resolutions, plus the two from the Xenarc FAQ. Start DISP and open the attached file, after renaming it to .h and have a look at the resolutions tab.

            Once you have saved the .h file open it up and page down to the area that looks like the bit below (The byte comment wont be there, I've just added it for clarity, cut and paste it as courier, hopefully it will then look ok)

            // byte 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
            0x01,0x40, 0x00,0xF0, 0x32, 0x24, 0x02,0xD0, 0x01,0xAC,0x9A, 0x01,0x3F, 0x00,0xEF, 0x01,0xD5, 0x00,0x64, 0x1D, 0x01,0xC9, 0x00,0x76, 0x02,
            0x02,0x80, 0x01,0xE0, 0xFF, 0xFF, 0x00,0x00, 0x02,0xCC,0xCC, 0x02,0x7F, 0x01,0xDF, 0x03,0x1F, 0x00,0x8C, 0x5F, 0x02,0x0C, 0x00,0x1F, 0x00,
            0x03,0x20, 0x01,0xE0, 0xFF, 0xFF, 0x00,0x00, 0x03,0x93,0x89, 0x03,0x1F, 0x01,0xDF, 0x04,0x1F, 0x00,0xD8, 0x7F, 0x01,0xFB, 0x00,0x1B, 0x03,
            0x03,0x20, 0x01,0xE0, 0xFF, 0xFF, 0x00,0x00, 0x03,0x7F,0xFF, 0x03,0x1F, 0x01,0xDF, 0x03,0xE7, 0x00,0x88, 0x4F, 0x02,0x0C, 0x00,0x11, 0x02,
            0x03,0x20, 0x01,0xE0, 0xFF, 0xFF, 0x00,0x00, 0x03,0x66,0xFE, 0x03,0x1F, 0x01,0xDF, 0x03,0xEF, 0x00,0xB8, 0x4F, 0x01,0xF1, 0x00,0x11, 0x02,



            Now the code required in 4DGL looks like this


            // longhand resolution changes
            disp_WriteControl(SET_DISPLAY_OFF) ;
            disp_WriteControl(SET_LSHIFT_FREQ) ;
            disp_WrGRAM(0x03) ; // byte 9
            disp_WrGRAM(0x93) ; // byte 10
            disp_WrGRAM(0x89) ; // byte 11
            disp_WriteControl(SET_LCD_MODE) ;
            disp_WrGRAM(0x00) ;
            disp_WrGRAM(0x20) ;
            disp_WrGRAM(0x03) ; // byte 12
            disp_WrGRAM(0x1F) ; // byte 13
            disp_WrGRAM(0x01) ; // byte 14
            disp_WrGRAM(0xDF) ; // byte 15
            disp_WrGRAM(0x00) ;
            disp_WriteControl(SET_HORZ_PERIOD) ;
            disp_WrGRAM(0x04) ; // byte 16
            disp_WrGRAM(0x1F) ; // byte 17
            disp_WrGRAM(0x00) ; // byte 18
            disp_WrGRAM(0xD8) ; // byte 19
            disp_WrGRAM(0x7F) ; // byte 20
            disp_WrGRAM(0x00) ;
            disp_WrGRAM(0x00) ;
            disp_WrGRAM(0x00) ;
            disp_WriteControl(SET_VERT_PERIOD) ;
            disp_WrGRAM(0x01) ; // byte 21
            disp_WrGRAM(0xFB) ; // byte 22
            disp_WrGRAM(0x00) ; // byte 23
            disp_WrGRAM(0x1B) ; // byte 24
            disp_WrGRAM(0x03) ; // byte 25
            disp_WrGRAM(0x00) ;
            disp_WrGRAM(0x00) ;
            pause(50) ;
            disp_WriteControl(SET_DISPLAY_ON) ;
            gfx_Set(X_MAX,799) ; // x pixels -1
            gfx_Set(Y_MAX,479) ; // y pixels -1
            gfx_Cls() ;
            gfx_Set(SCREEN_MODE, PORTRAIT);
            That is set up as per the default 800x480 resolution. Just change the parameters using the DISP table as per the comments above and it should work.
            Attached files uvga-II-Howard.txt (98.5 KB)
            Mark

            Comment


            • #7


              Hi Howard,

              I've attached a program we used to adjust the resolution until it worked very well - this utility will adjust the SSD1963 to display 840 x 480. It works on several monitors (more than one Samsung model, an Acer, and the Xenarc 1020YV LCD, and LG and Infinty large-screen wide-aspect LCD TVs).

              Try the utility as-is, it will display the starting res. (640x480) using Font3, then it will change it to 840x480, and use Font4 (because Font4 looks very nice and gives an even 70 x 30 character display).

              The display will have 70 numbers on the first (top) row, and 30 on the first (left) column, so it makes it easy to go into the OSD and adjust the vertical, horizontal, freq and phase on your Xenarc (or other display).

              DON'T use the 'auto' on the Xenarc - in many cases it will mess up even working settings.

              Run the utility I've attached, and while the Font4 'rulers' are on the screen, use the OSD to set the following:
              - Image Size: FILL ALL
              - Phase: 36
              - Frequency: 115
              - H position: 18
              - V position: 83

              After that, you can make minor adjustments to your taste, and when you're done, the Xenarc should remember the settings as long as you don't 'zap' them by using 'Auto'.

              Hope that helps,

              ---autologic

              NB - one can adjust the resolution and lshift frequency easily, using the attached utility, it's explained in the comments in the program.

              Also, if your Xenarc displays the resolution when it changes in a little OSD box for a few seconds, you will note that it shows 800x480x59p - but we really are displaying 840x480 pixels on the screen.


              Attached files bigRes.4dg (4.9 KB) bigRes.4dg (4.9 KB)

              Comment


              • #8


                Autologic, did you try gfx_Set(SCREEN_RES, 2); on your monitors?

                Did it work on any / some / all ?
                Mark

                Comment


                • #9


                  Hi,
                  Autologic, did you try gfx_Set(SCREEN_RES, 2); on your monitors?
                  Yes, I tried it 'alone' on all, some gave a message 'can't display this resolution', some pretended there was "no signal or cable not attached", some said, "no synch", and the Xenarc model 1020YV would display but it was 'funky' until I used the methodology mentioned in my prior post with the utility program attached. It suprisingly worked straight away on the LG 32" LCD TV and not so suprisingly worked on the Infinty 42" LCD TV (the Infinity is optimised for displaying PC VGA, all kinds of PIP, POP and all that nice stuff).


                  ---autologic

                  Comment


                  • #10


                    Thanks for the information everyone, I am working through the setups now. I've tried both sets of settings with mixed results.......I think I need to just keep tweaking.....
                    One of the problems is that the monitor seems to want to do an auto every time it powers on and/or the video channel changes......
                    Autologic, I didn't see an attachment?
                    If I get it stable I'll post my final config for anyone else who may need it......
                    Thanks!
                    _______________
                    Best Regards,
                    Howard

                    Comment


                    • #11


                      Hi Howard,

                      There's some kind of problem displaying attachments here sometimes,
                      try this link to get the utility:

                      http://4d.websitetoolbox.comhttp://files.websitetoolbox.com/23294/1188074


                      I really think this will help solve the problem.

                      Once you get the monitor working with the utility, it will 'lock' on the frequency every time the uVGAII configs it, unless someone does a forced manual 'auto' on the Xenarc.

                      ---autologic

                      Comment


                      • #12


                        It suprisingly worked straight away on the LG 32" LCD TV
                        We had a lot of bother trying to find out the 'correct' settings for the 800x480 mode, it's a 'standard' mode without massive support and since most monitors have very short instruction books these days the settings they work to are often just not listed.

                        We did test the settings we used with the monitors we had available at the time and it reportedly worked on all of them (this included some 'no name' brands as well), so we thought we had the right settings.

                        Tellingly, the monitor that I personally tested it on was an LG.
                        Mark

                        Comment


                        • #13


                          The monitor seems to be running well with the values supplied by ESPsupport:
                          disp_WriteControl(SET_DISPLAY_OFF) ; disp_WriteControl(SET_LSHIFT_FREQ) ; disp_WrGRAM(0x03) ; // byte 9 disp_WrGRAM(0x7F) ; // byte 10 disp_WrGRAM(0xFF) ; // byte 11 disp_WriteControl(SET_LCD_MODE) ; disp_WrGRAM(0x00) ; disp_WrGRAM(0x20) ; disp_WrGRAM(0x03) ; // byte 12 disp_WrGRAM(0x1F) ; // byte 13 disp_WrGRAM(0x01) ; // byte 14 disp_WrGRAM(0xDF) ; // byte 15 disp_WrGRAM(0x00) ; disp_WriteControl(SET_HORZ_PERIOD) ; disp_WrGRAM(0x03) ; // byte 16 disp_WrGRAM(0xE7) ; // byte 17 disp_WrGRAM(0x00) ; // byte 18 disp_WrGRAM(0x88) ; // byte 19 disp_WrGRAM(0x4F) ; // byte 20 disp_WrGRAM(0x00) ; disp_WrGRAM(0x00) ; disp_WrGRAM(0x00) ; disp_WriteControl(SET_VERT_PERIOD) ; disp_WrGRAM(0x02) ; // byte 21 disp_WrGRAM(0x0C) ; // byte 22 disp_WrGRAM(0x00) ; // byte 23 disp_WrGRAM(0x11) ; // byte 24 disp_WrGRAM(0x02) ; // byte 25 disp_WrGRAM(0x00) ; disp_WrGRAM(0x00) ; pause(150) ; disp_WriteControl(SET_DISPLAY_ON) ; gfx_Set(X_MAX,799) ; // x pixels -1 gfx_Set(Y_MAX,479) ; // y pixels -1 gfx_Cls() ;
                          I think initially I may have mis-entered one of the values the first time, or perhaps I didn't save it to flash before opening up the terminal utility (which reboots the uVGA-II). Knock on wood, it appears to be running fine even when I repower and auto-sync the monitor......
                          Thanks for everyone's help!
                          _______________
                          Best Regards,
                          Howard

                          Comment


                          • #14


                            Hi,

                            Glad to see it's working. Just out of curiosity, did anyone try that 'adjustment utility' I posted? We've had very good results on all kinds of resolutions by adjusting the x,y and lshift freq. parameters; for example the 840x480 that the utility is set up for) which seems absolutely optimum for FONT4, etc.


                            ---autologic

                            Comment


                            • #15


                              Hi AutoLogic,
                              I did try the utility you posted. The Xenarc monitor did seem to lock onto the 840 x 480 frequency, however there seemed to be a bit of "swimming" of the pixels, even after adjusting the clock and phase parameters.
                              I ended up using the following to draw some lines around the perimeter of the display to help with setting the clock/phase/vpos/hpos parameters.....
                              gfx_Rectangle(0,0,799,479,WHITE); gfx_Rectangle(2,2,797,477,RED); gfx_Rectangle(4,4,795,475,TEAL); gfx_Rectangle(6,6,793,473,VIOLET);
                              Thanks again for everyone's help!
                              _______________
                              Best Regards,
                              Howard

                              Comment

                              Working...
                              X