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
Riverdi Display 3.5" Settings
- marko.stankovic
- mikroElektronika team
- Posts: 108
- Joined: 18 Dec 2017 15:44
Re: Riverdi Display 3.5" Settings
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,
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.
Re: Riverdi Display 3.5" Settings
Hi, here's the display:
Re: Riverdi Display 3.5" Settings
Hi MikroE,
Finally, I found the problem.
It is in void InitVTFTStack();.
Theese two lines:
Should be last lines, NOT immediately after FT800_Init();, like code generator does it.
Working code:
Settings:
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
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);
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);
}
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
};
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