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() {