Riverdi Display 3.5" Settings

General discussion on Visual TFT Software.
Post Reply
Author
Message
matrix
Posts: 203
Joined: 26 Jan 2006 07:21
Location: Bulgaria
Contact:

Riverdi Display 3.5" Settings

#1 Post by matrix » 13 Jun 2018 08:33

Hi,

Can anybody share correct VTFT Settings for Riverdi Display 3.5". https://www.mikroe.com/riverdi-35-no-touch
I have all 3.5'', 4.3'', 5'' and 7'' Riverdi displays with resistive touch.
All exept 3.5'' works fine.
Riverdi Display 3.5" just lights white, but touch works.

Best Regards,
Rado

User avatar
marko.stankovic
mikroElektronika team
Posts: 108
Joined: 18 Dec 2017 15:44

Re: Riverdi Display 3.5" Settings

#2 Post by marko.stankovic » 15 Jun 2018 12:05

Hi,

The link in your description is a link to the Riverdi Display 3.5" without touch.
Can you attach a picture of the back of the display to make sure which model of Riverdi Display 3.5" you have?

Best regards,
Marko Stankovic.

matrix
Posts: 203
Joined: 26 Jan 2006 07:21
Location: Bulgaria
Contact:

Re: Riverdi Display 3.5" Settings

#3 Post by matrix » 15 Jun 2018 13:49

Hi, here's the display:
riverdi3.5.jpg
riverdi3.5.jpg (537.04 KiB) Viewed 2543 times

matrix
Posts: 203
Joined: 26 Jan 2006 07:21
Location: Bulgaria
Contact:

Re: Riverdi Display 3.5" Settings

#4 Post by matrix » 24 Jun 2018 14:24

Hi MikroE,

Finally, I found the problem.
It is in void InitVTFTStack();.

Theese two lines:

Code: Select all

FT800_Core_ClockSource(_FT800_CLK_SOURCE_EXTERNAL);
  FT800_Core_ClockPLL(_FT800_CLK_PLL_48MHz);
Should be last lines, NOT immediately after FT800_Init();, like code generator does it.

Working code:

Code: Select all

void InitVTFTStack() {
  Init_MCU();

  SPI_Set_Active(SPI3_Read, SPI3_Write);

  // Init all dynamic objects
  InitObjects();

  // Init FT800 controller core and library stack
  FT800_Init();
  //Two lines are removed from Here!
  
  // Internal modules setup
  FT800_Display_SetConfig(&VTFT_FT800_CONFIG_DISPLAY);

  FT800_Audio_SetConfig(&VTFT_FT800_CONFIG_AUDIO);

  FT800_Sound_SetConfig(&VTFT_FT800_CONFIG_SOUND);

  FT800_Interrupt_SetConfig(&VTFT_FT800_CONFIG_INTERRUPT);

  FT800_PWM_SetConfig(&VTFT_FT800_CONFIG_PWM);

  FT800_GPIO_SetConfig(&VTFT_FT800_CONFIG_GPIO);

  FT800_Touch_SetConfig(&VTFT_FT800_CONFIG_TOUCH);

  FT800_Touch_Calibrate(_FT800_FONT_ROBOTO_SIZE_10, "Touch blinking point on the screen!");
  
  FT800_Core_ClockSource(_FT800_CLK_SOURCE_EXTERNAL);
  FT800_Core_ClockPLL(_FT800_CLK_PLL_48MHz);

  // Draw start screen
  DrawScreen(&Screen6);
}
Settings:

Code: Select all

const TFT800Display VTFT_FT800_CONFIG_DISPLAY =
{
  48000000,        // Frequency          = main clock frequency
  0,               // OutRenderMode      = 0 normal, 1 write, 2 read
  0,               // RenderReadScanLine = scanline for read render mode
  0,               // RenderWriteTrigger = trigger for write render mode (read only)
  408,             // hCycle             = number if horizontal cycles for display
  70,              // hOffset            = horizontal offset from starting signal
  320,             // hSize              = width resolution
  0,               // hSync0             = hsync falls
  41,              // hSync1             = hsync rise
  263,             // vCycle             = number of vertical cycles for display
  13,              // vOffset            = vertical offset from start signal
  240,             // vSize              = height resolution
  0,               // vSync0             = vsync falls
  10,              // vSync1             = vsync rise
  0,               // Rotate             = rotate display
  0x01B6,          // OutBits            = output bits resolution
  0,               // OutDither          = output number of bits
  0x0002,          // OutSwizzle         = output swizzle
  0,               // OutCSpread         = output clock spread enable
  1,               // PClockPolarity     = clock polarity: 0 - rising edge, 1 - falling edge
  6,               // PClock             = clock prescaler of FT800: - 0 means disable and >0 means 48MHz/pclock
};
Only OutSwizzle is 2 for 3.5"", and 0 for 4.3", of course the display resolution.

As I wrote in previous post that 4.3" works, it works but ONLY with equal values of vSync0 and vSync1. Which means, without VSYNC signal.....
Now, it works also with VSYNC signal and NOT works without it, as should be.

As attachement is a test project which I ported for mikroC and helps me to investigate the problem.

Regards,
Rado
Attachments
FT8xx.rar
(278.58 KiB) Downloaded 168 times

Post Reply

Return to “Visual TFT General”