Announcement

Collapse
No announcement yet.

uLCD-43D refresh rate

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

  • uLCD-43D refresh rate

    We are trying to trigger the screen to change the displayed image and noticing a cascading refresh of the screen. We would like to get to 30Hz refresh rate but even at 1 Hz the cascading effect isn't ideal. What would you recommend changing in our setup to improve the rate at which the screen triggers and changes images?

    We are using an I/O to input the trigger to change images
    Images are stored on the SD Card and program is stored in Flash

    Let me know if you need any other details on our setup

    Attached video was at about 5Hz
    Attached Files

  • #2
    Hello,

    The images you are showing, are they all just different colours ? the effect you are getting will be very noticeable if the images you are changing are just solid colour backgrounds. If the images were an animation like a gauge of a video the effect your are seeing wouldn't be noticeable. Would it be possible to send me the code you are using so I can look into it further. It sometimes not possible to see the effect in a video.

    Best regards

    Paul

    Comment


    • #3
      They are colors and/or grey scale images. Video won't be possible because the intention is to change images based on encoder position. To generate a video based on encoder position dynamically will be impossible. The trigger signal is RS422
      Here is the code:

      #platform "Gen4-uLCD-43D"


      // Program Skeleton 1.3 generated 7/5/2018 1:32:06 PM

      #inherit "4DGL_16bitColours.fnc"

      #inherit "VisualConst.inc"

      #inherit "linval_testConst.inc"
      #MODE RUNFLASH
      func main()

      var quadEn1Delta, quadEn1Hi, quadEn1Lo;
      pin_Set(PIN_INP,PA0); //Set PA0 to be Input without Pullup
      pin_Set(PIN_INP,PA1); //Set PA1 to be Input without Pullup
      var colorArray[4] := [RED,GREEN,YELLOW,BLUE];


      putstr("Mounting...\n");
      if (!(file_Mount()))
      while(!(file_Mount()))
      putstr("Drive not mounted...");
      pause(200);
      gfx_Cls();
      pause(200);
      wend
      endif

      gfx_Cls();
      gfx_Set(FRAME_DELAY,0);


      var x ;
      x:=1 ;

      while(x<2000)
      Qencoder1(PA0,PA1,0); //Connect PA0 and PA1 pins to quadrature encoder mocule #1

      quadEn1Delta := peekW(QEN1_DELTA); //quadrature encoder #1 delta count
      quadEn1Hi := peekW(QEN1_COUNTER_HI); //quadrature encoder #1 counter HI
      quadEn1Lo := peekW(QEN1_COUNTER_LO); //quadrature encoder #1 counter LO

      if (quadEn1Lo == 1)
      gfx_BGcolour(RED);
      gfx_Cls();
      else
      gfx_BGcolour(BLACK);
      gfx_Cls();
      endif

      x++;
      wend
      gfx_Set(SCREEN_MODE,LANDSCAPE) ;

      repeat
      forever
      endfunc

      Comment


      • #4
        Hi,

        I was using the video as an example of how you wouldn't get this cascading effect. There is the UserImages Widget you can use which will allow you to have a series of images to represent your encoder but flashing a full screen colour change like this will give the effect you are experiencing.

        Best regards

        Paul

        Comment

        Working...
        X