You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello Rudolph,
Thank you very much for the work you put into creating this lib.
I think I found a small error while trying to enable the display using your lib.
I am using RVT50HQBNWC00-B with STM32, so I set #define EVE_RVT50H in EVE_config.h.
It turns on config:
When REG_PCLK is set to 2 to 255, the display out is in pass-through mode, but this setup makes that in function static uint8_t enable_pixel_clock(void) enable the DISP signal to the LCD panel and start clocking data to the LCD panel are not called.
static uint8_t enable_pixel_clock(void)
{
uint8_t ret = E_OK;
#if EVE_GEN > 3
#if defined(EVE_PCLK_FREQ)
uint32_t frequency;
/* setup the second PLL for the pixel-clock according to the define in EVE_config.h for the display, as close a match as possible */
frequency = EVE_cmd_pclkfreq(EVE_PCLK_FREQ, 0L);
if (0U == frequency) /* this failed for some reason so we return with an error */
{
ret = EVE_FAIL_PCLK_FREQ;
}
else
{
EVE_memWrite8(REG_GPIO, 0x80U); /* enable the DISP signal to the LCD panel, it is set to output in REG_GPIO_DIR by default */
EVE_memWrite8(REG_PCLK, EVE_PCLK); /* now start clocking data to the LCD panel */
}
#endif
#else
EVE_memWrite8(REG_GPIO, 0x80U); /* enable the DISP signal to the LCD panel, it is set to output in REG_GPIO_DIR by default */
EVE_memWrite8(REG_PCLK, EVE_PCLK); /* now start clocking data to the LCD panel */
#endif
return ret;
}
Because EVE_GEN = 4, so > 3, but EVE_PCLK_FREQ is not defined. That's why it didn't work for me. In my opinion, this function should look like this, and in this form at my place it works:
static uint8_t enable_pixel_clock(void)
{
uint8_t ret = E_OK;
#if EVE_GEN > 3
#if defined(EVE_PCLK_FREQ)
uint32_t frequency;
/* setup the second PLL for the pixel-clock according to the define in EVE_config.h for the display, as close a match as possible */
frequency = EVE_cmd_pclkfreq(EVE_PCLK_FREQ, 0L);
if (0U == frequency) /* this failed for some reason so we return with an error */
{
ret = EVE_FAIL_PCLK_FREQ;
}
else
{
EVE_memWrite8(REG_GPIO, 0x80U); /* enable the DISP signal to the LCD panel, it is set to output in REG_GPIO_DIR by default */
EVE_memWrite8(REG_PCLK, EVE_PCLK); /* now start clocking data to the LCD panel */
}
#else
EVE_memWrite8(REG_GPIO, 0x80U); /* NEW */
EVE_memWrite8(REG_PCLK, EVE_PCLK); /* NEW */
#endif
#else
EVE_memWrite8(REG_GPIO, 0x80U); /* enable the DISP signal to the LCD panel, it is set to output in REG_GPIO_DIR by default */
EVE_memWrite8(REG_PCLK, EVE_PCLK); /* now start clocking data to the LCD panel */
#endif
return ret;
}
Best regards,
grados73
The text was updated successfully, but these errors were encountered:
Thank you for the report!
I just fixed it, at least I have the RVT50HQBNWC00-B up and running here.
And now I also better test it with some more displays...
Hello Rudolph,
Thank you very much for the work you put into creating this lib.
I think I found a small error while trying to enable the display using your lib.
I am using RVT50HQBNWC00-B with STM32, so I set #define EVE_RVT50H in EVE_config.h.
It turns on config:
When REG_PCLK is set to 2 to 255, the display out is in pass-through mode, but this setup makes that in function static uint8_t enable_pixel_clock(void) enable the DISP signal to the LCD panel and start clocking data to the LCD panel are not called.
Because EVE_GEN = 4, so > 3, but EVE_PCLK_FREQ is not defined. That's why it didn't work for me. In my opinion, this function should look like this, and in this form at my place it works:
Best regards,
grados73
The text was updated successfully, but these errors were encountered: