Hello,
I have my QSPI working perfect for my Riverdi 5" display, using the IPS-50 settings. I switched over to my Riverdi 7" display, using the IPS-70 settings and I only get the DL-size text multiple times down the display. I've attached photos of the 5" display and the 7" display. I have flashed the same .bin file to both displays.
Is there anything special to consider when using the same code for both displays besides switching the IPS-X0 settings?
The DL sizes are different because after a few seconds my display connects to the Bluetooth module and updates the data on the screen, so the size isn't the issue.
Kindest regards.
Hi,
Could you advise which model of display module that you have for each, and what display settings you use for each?
Normally for displays of different sizes and/or resolutions, you should still see content display correctly so long as the display settings registers are all set correctly for the display.
Also, are your fonts custom ones or are they stored in Flash as custom fonts?
Best Regards, BRT Community
Hello,
Thank you for your response.
The two Riverdi displays I'm using are:
RVT50HQBNWC00-B
RVT70HSBNWC00-B
One thing to note is that when I have the IPS-70 settings, the 5" display will display the data, it's just partially off the screen (image attached).
The display settings are:
#if defined (IPS_50)
#define DispWidth 800L
#define DispHeight 480L
#define DispHCycle 816L
#define DispHOffset 8L
#define DispHSync0 0L
#define DispHSync1 4L
#define DispVCycle 496L
#define DispVOffset 8L
#define DispVSync0 0L
#define DispVSync1 4L
#define DispPCLK 1
#define DispSwizzle 0
#define DispPCLKPol 1
#define DispCSpread 0
#define DispDither 0
#define DispPLCLKFREQ 0xD14
#define DispPCLK2x 0
#elif defined (IPS_70)
#define DispWidth 1024L
#define DispHeight 600L
#define DispHCycle 1344L
#define DispHOffset 160L
#define DispHSync0 0L
#define DispHSync1 70L
#define DispVCycle 635L
#define DispVOffset 23L
#define DispVSync0 0L
#define DispVSync1 10L
#define DispPCLK 1
#define DispSwizzle 0
#define DispPCLKPol 1
#define DispCSpread 0
#define DispDither 0
#define DispPLCLKFREQ 0xD12
#define DispPCLK2x 0
#endif
The fonts are custom and are stored in the Flash, I have attached the .bin file I'm using on both displays, don't know if this will help or not, just including it. This is the memory map for the attached file:
Generating flash image...
Generate flash success!
Flash image file : Reglo-Bold_200_34_Icons_ASTC Font.bin
Flash map file : Reglo-Bold_200_34_Icons_ASTC Font.map
Flash description file : Reglo-Bold_200_34_Icons_ASTC Font.edf
Flash map:
bt817.blob : 0 : 4096
EDF Block : 4096 : 448
Reglo-Bold_200_ASTC.glyph : 4544 : 209920
Reglo-Bold_200_ASTC.xfont : 214464 : 176
Reglo-Bold_200_ASTC.xfont.pad : 214640 : 16
Reglo-Bold_34_ASTC.glyph : 214656 : 116480
Reglo-Bold_34_ASTC.xfont : 331136 : 176
Reglo-Bold_34_ASTC.xfont.pad : 331312 : 16
Tambourine Outline_34_ASTC.glyph : 331328 : 200640
Tambourine Outline_34_ASTC.xfont : 531968 : 176
Tambourine Outline_34_ASTC.xfont.pad : 532144 : 16
Tambourine_34_ASTC.glyph : 532160 : 200640
Tambourine_34_ASTC.xfont : 732800 : 176
Tambourine_34_ASTC.xfont.pad : 732976 : 16
Airbag_300x400_COMPRESSED_RGBA_ASTC_4x4_KHR.raw : 732992 : 120000
Tire_300x400_COMPRESSED_RGBA_ASTC_4x4_KHR.raw : 852992 : 120000
If there is anything else I can help with, please let me know.
Kindest regards.
Hi,
Thanks for your reply,
We have that 7" display and so will try it out with your display settings and let you know if we see any issues moving from the 5" to the 7"
Normally the same application should work well on both so long as the display settings are adjusted
Your settings differ a bit from the ones we use with our module and so that may be a factor,
Best Regards, BRT Community
Hello,
Thank you for your response.
That's strange, I pulled the settings from the Riverdi's module.h file. Could you please share the settings you have so I can try it?
Kindest regards.
I just checked and I am using the same parameters with my RVT70HSBNWC00-B.
But this looks like a different issue entirely: external flash bandwidth.
Please switch to ROM fonts and check what it looks like then.
The RVT50H might be just barely working as the time per display line is a couple of µs longer.
Hi Rudolph,
I switched all the fonts to use ROM font 31 and everything displayed correctly. Is there any way to change settings so that I can use custom fonts or are ROM fonts the only option?
Thank you for your response, extremely helpful.
Kindest regards.
First of all, make use of all the RAM_G you have before even considering diplaying anything from flash.
You could use CMD_FONTCACHE for the largest font, but it is a little tricky to use and does not take it kindly if you try to display more characters than can fit in the cache.
Then there is REG_ADAPTIVE_FRAMERATE which is set to 1 by default.
With REG_AH_HCYCLE_MAX, which is set to 0 by default, you can enable adaptive HSYNC, it is to be set to a value
between REG_HCYCLE and 4095 - so 4095. :-)
This suspends PCLK if the next scanline is not ready yet, so this gives the graphics engine more time at the cost of reducing the framerate.
Another option would be to check if the display settings could be modified to lower the pixel clock and/or make the scanlines longer,
which again results in a lower framerate.
There also is REG_PCLK_2X which if set to 1 tells the graphics engine that it can send two pixels per clock to the output block.
I am not sure if it helps in this situation, but given the description it might, if the effect is that the graphics engine is spending less time pushing out pixels then it might free enough clock cycles for the external flash.
Thank you, Rudolph! I did a quick test setting the REG_PCLK_2X to 1 and didn't resolve the issue. I was thinking that using QSPI would have been able to read from the flash fast enough but apparently, I was mistaken :(. I'm discovering there isn't anything easy about this, LOL. I will go through your suggestions and see if I can figure it out. I'm sure I'll have lots of questions.
Thanks again for your help and patience.
Kindest regards.