From fd4eeada42f476ab41543643ef2b145018a5e5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 17 Jun 2019 14:11:13 +0200 Subject: [PATCH] [ion/display] Increase display timings for bad LCD --- ion/src/device/shared/drivers/display.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ion/src/device/shared/drivers/display.cpp b/ion/src/device/shared/drivers/display.cpp index 5b29805f6..510e29877 100644 --- a/ion/src/device/shared/drivers/display.cpp +++ b/ion/src/device/shared/drivers/display.cpp @@ -240,7 +240,16 @@ void shutdownGPIO() { } static inline int nsToCycles(int nanoseconds) { + // Fix for bad screens +#define FIX_BAD_LCD 1 +#if FIX_BAD_LCD + constexpr double BaseFrequency = 96.0; + double configFrequency = 1.0*Config::HCLKFrequencyInMHz; + int baseFrequencyCycles = (nanoseconds*BaseFrequency)/1000 + 1; + return baseFrequencyCycles * (configFrequency/BaseFrequency); +#else return (nanoseconds*Config::HCLKFrequencyInMHz)/1000 + 1; +#endif } void initFSMC() {