Adjusted timings on the ST7290 u8glib so RE-ARM and RAMPS4DUE have no problems when writing to the graphics LCD. This fixes Issue #8787 - Special thanks to Bergerac56 for testinf this out !!!

This commit is contained in:
etagle 2017-12-21 02:33:22 -03:00
parent 498ea7512a
commit 99b2fc2066

View file

@ -158,9 +158,9 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
do { do {
WRITE(ST7920_CLK_PIN, LOW); WRITE(ST7920_CLK_PIN, LOW);
WRITE(ST7920_DAT_PIN, val & 0x80); WRITE(ST7920_DAT_PIN, val & 0x80);
DELAY_NS(500); DELAY_NS(700); /* RE-ARM requires 700ns to be stable, RAMPS4DUE works with 500ns */
WRITE(ST7920_CLK_PIN, HIGH); WRITE(ST7920_CLK_PIN, HIGH);
DELAY_NS(500); DELAY_NS(700); /* RE-ARM requires 700ns to be stable, RAMPS4DUE works with 500ns */
val <<= 1; val <<= 1;
} while (--n); } while (--n);
} }
@ -171,9 +171,9 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
#define ST7920_SND_BIT(nr) \ #define ST7920_SND_BIT(nr) \
WRITE(ST7920_CLK_PIN, LOW); \ WRITE(ST7920_CLK_PIN, LOW); \
WRITE(ST7920_DAT_PIN, TEST(val, nr)); \ WRITE(ST7920_DAT_PIN, TEST(val, nr)); \
DELAY_NS(500); \ DELAY_NS(700); \
WRITE(ST7920_CLK_PIN, HIGH); \ WRITE(ST7920_CLK_PIN, HIGH); \
DELAY_NS(500); DELAY_NS(700);
static void ST7920_SWSPI_SND_8BIT(const uint8_t val) { static void ST7920_SWSPI_SND_8BIT(const uint8_t val) {
ST7920_SND_BIT(7); // MSBit ST7920_SND_BIT(7); // MSBit