From d8a9bec3f368fcab214f68243105bfbe286f6b47 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 10:46:30 -0300 Subject: [PATCH 01/19] fix redefinition warning and add some defaults --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 55 ++++++++++++------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 844fb6b0d6a4..619534f4d7c1 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -200,24 +200,6 @@ #endif -#if ENABLED(FSMC_GRAPHICAL_TFT) - //#define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - //#define DOGLCD_SCK -1 - - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 - - #define LCD_RESET_PIN PC6 // FSMC_RST - #define LCD_BACKLIGHT_PIN PD13 - - #if NEED_TOUCH_PINS - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #endif -#endif - #if HAS_SPI_LCD #define BEEPER_PIN PC5 @@ -226,10 +208,42 @@ #define LCD_PINS_RS PC6 #define BTN_EN1 PE8 #define BTN_EN2 PE11 - #define LCD_BACKLIGHT_PIN -1 + + #if ENABLED(FSMC_GRAPHICAL_TFT) + //#define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + //#define DOGLCD_SCK -1 + + #ifndef FSMC_UPSCALE + #define FSMC_UPSCALE 3 + #endif + #ifndef LCD_FULL_PIXEL_WIDTH + #define LCD_FULL_PIXEL_WIDTH 480 + #endif + #ifndef LCD_PIXEL_OFFSET_X + #define LCD_PIXEL_OFFSET_X 48 + #endif + #ifndef LCD_FULL_PIXEL_HEIGHT + #define LCD_FULL_PIXEL_HEIGHT 320 + #endif + #ifndef LCD_PIXEL_OFFSET_Y + #define LCD_PIXEL_OFFSET_Y 32 + #endif + + #define FSMC_CS_PIN PD7 // NE4 + #define FSMC_RS_PIN PD11 // A0 + + #define LCD_RESET_PIN PC6 // FSMC_RST + #define LCD_BACKLIGHT_PIN PD13 + + #if NEED_TOUCH_PINS + #define TOUCH_CS_PIN PA7 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #endif // MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor) - #if ENABLED(MKS_MINI_12864) + #elif ENABLED(MKS_MINI_12864) #define LCD_BACKLIGHT_PIN -1 #define LCD_RESET_PIN -1 #define DOGLCD_A0 PD11 @@ -243,6 +257,7 @@ #else // !MKS_MINI_12864 + #define LCD_BACKLIGHT_PIN -1 #define LCD_PINS_D4 PE14 #if ENABLED(ULTIPANEL) #define LCD_PINS_D5 PE15 From 2afd98934714ab30783b4d9fcdb7a4d964b0f3f8 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 10:49:34 -0300 Subject: [PATCH 02/19] to test if make nano 1.2 display work again --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index d081541c5ae6..5ecd2d7d1b0b 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -650,7 +650,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u lcd_id = 0; return 0; default: - setWindow = (lcd_id & 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; + setWindow = (lcd_id && 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; break; } From 34c3599c4c5fb85df2cbdadc6ad6cf871e6bdf4d Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 12:37:39 -0300 Subject: [PATCH 03/19] fix condition and name --- .../src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 5ecd2d7d1b0b..2340248252c7 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -379,7 +379,7 @@ static const uint16_t ili9341_init[] = { ESC_END }; -static const uint16_t st9677_init[] = { +static const uint16_t st7796_init[] = { ESC_REG(0x0010), ESC_DELAY(120), ESC_REG(0x0001), ESC_DELAY(120), ESC_REG(0x0011), ESC_DELAY(120), @@ -640,7 +640,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u setWindow = setWindow_st7789v; break; case 0x7796: - WRITE_ESC_SEQUENCE(TERN(HAS_LCD_IO, st9677_init, ili9341_init)); + WRITE_ESC_SEQUENCE(st7796_init); setWindow = setWindow_st7789v; break; case 0x0404: // No connected display on FSMC From b6414e22b650b0811776b8fbc63c8a4def463c68 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 17:04:29 -0300 Subject: [PATCH 04/19] init sequence for 0x9488 display (mks nano v1.2 35 tft) --- ...8g_dev_tft_320x240_upscale_from_128x64.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 2340248252c7..0775c004ab96 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -379,6 +379,27 @@ static const uint16_t ili9341_init[] = { ESC_END }; +static const uint16_t ili9488_init[] = { + ESC_REG(0X00E0), 0X0000, 0X0007, 0X000F, 0X000D, 0X001B, 0X000A, 0X003C, 0X0078, 0X004A, 0X0007, 0X000E, 0X0009, 0X001B, 0X001E, 0X000F, + ESC_REG(0X00E1), 0X0000, 0X0022, 0X0024, 0X0006, 0X0012, 0X0007, 0X0036, 0X0047, 0X0047, 0X0006, 0X000A, 0X0007, 0X0030, 0X0037, 0X000F, + ESC_REG(0x00C0), 0x0010, 0x0010, + ESC_REG(0x00C1), 0x0041, + ESC_REG(0x00C5), 0x0000, 0x0022, 0x0080, + ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x00A8, 0x0068), + ESC_REG(0x003A), 0x0055, + ESC_REG(0x00B0), 0x0000, + ESC_REG(0x00B1), 0x00B0, 0x0011, + ESC_REG(0x00B4), 0x0002, + ESC_REG(0x00B6), 0x0002, 0x0042, + ESC_REG(0x00B7), 0x00C6, + ESC_REG(0x00E9), 0x0000, + ESC_REG(0x00F0), 0x00A9, 0x0051, 0x002C, 0x0082, + ESC_REG(0x0029), + ESC_REG(0x0011), + ESC_DELAY(100), + ESC_END +}; + static const uint16_t st7796_init[] = { ESC_REG(0x0010), ESC_DELAY(120), ESC_REG(0x0001), ESC_DELAY(120), @@ -643,6 +664,9 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u WRITE_ESC_SEQUENCE(st7796_init); setWindow = setWindow_st7789v; break; + case 0x9488: + WRITE_ESC_SEQUENCE(ili9488_init); + setWindow = setWindow_st7789v; case 0x0404: // No connected display on FSMC lcd_id = 0; return 0; From 7bd251e301a61d1f86d8ef8ed72f69f89fb92a7d Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 17:04:43 -0300 Subject: [PATCH 05/19] to debug lcd id --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 0775c004ab96..b45bf1d18191 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -720,6 +720,8 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u case U8G_DEV_MSG_PAGE_NEXT: if (++page > (HEIGHT / PAGE_HEIGHT)) return 1; + SERIAL_ECHOLNPAIR("LCD ID: ", lcd_id); + LOOP_L_N(y, PAGE_HEIGHT) { uint32_t k = 0; #if HAS_LCD_IO From 280bdeddc5d3a3f44a0f247e36650b9e7ef5b881 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 17:33:02 -0300 Subject: [PATCH 06/19] fix non dma fsmc --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index b45bf1d18191..387a7c6474b5 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -748,7 +748,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u LCD_IO_WriteSequence(buffer, COUNT(bufferA)); #else uint8_t* bufptr = (uint8_t*) buffer; - for (uint8_t i = 2; i--;) { + for (uint8_t i = FSMC_UPSCALE; i--;) { u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[0]); u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH]); u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH*2]); From a5a015835d8c6c90b1f3b9a7c577a92191f794e3 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 18:30:32 -0300 Subject: [PATCH 07/19] fix 3x to non-dma (now ok!) --- ...8g_dev_tft_320x240_upscale_from_128x64.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 387a7c6474b5..291fb0c550f3 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -610,8 +610,8 @@ static const uint16_t st7796_init[] = { LCD_IO_WriteSequence(buffer, length * sq(FSMC_UPSCALE)); #else - u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); - u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); + for (uint8_t i = FSMC_UPSCALE; i--;) + u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); #endif } } @@ -639,7 +639,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u uint16_t* buffer = &bufferA[0]; bool allow_async = DISABLED(SPI_GRAPHICAL_TFT); #else - uint16_t buffer[WIDTH*2]; // 16-bit RGB 565 pixel line buffer + uint16_t buffer[WIDTH * FSMC_UPSCALE]; // 16-bit RGB 565 pixel line buffer #endif switch (msg) { @@ -688,9 +688,9 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u #if HAS_LCD_IO LCD_IO_WriteMultiple(TFT_MARLINBG_COLOR, LCD_FULL_PIXEL_WIDTH * LCD_FULL_PIXEL_HEIGHT); #else - memset2(buffer, TFT_MARLINBG_COLOR, 160); - for (uint16_t i = 0; i < 960; i++) - u8g_WriteSequence(u8g, dev, 160, (uint8_t *)buffer); + memset2(buffer, TFT_MARLINBG_COLOR, LCD_FULL_PIXEL_WIDTH / 2); + for (uint16_t i = 0; i < LCD_FULL_PIXEL_HEIGHT * sq(FSMC_UPSCALE); i++) + u8g_WriteSequence(u8g, dev, LCD_FULL_PIXEL_WIDTH / 2, (uint8_t *)buffer); #endif // Bottom buttons @@ -749,10 +749,9 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u #else uint8_t* bufptr = (uint8_t*) buffer; for (uint8_t i = FSMC_UPSCALE; i--;) { - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[0]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH*2]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH*3]); + LOOP_S_L_N(n, 0, FSMC_UPSCALE * 2) { + u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH * n]); + } } #endif } From 388e141e3422ba41f355445ffe31fdaf8b781565 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 18:30:52 -0300 Subject: [PATCH 08/19] back to right code --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 291fb0c550f3..59f949184ac8 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -674,7 +674,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u lcd_id = 0; return 0; default: - setWindow = (lcd_id && 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; + setWindow = (lcd_id & 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; break; } From 2dd76d51106f6eb93c35790890f3fd6af4c198c0 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 19:21:37 -0300 Subject: [PATCH 09/19] dont break old code --- .../src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 59f949184ac8..edda055b2b9e 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -243,6 +243,7 @@ void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint } } #define WRITE_ESC_SEQUENCE(V) writeEscSequence(V) + #define WRITE_ESC_SEQUENCE16(V) writeEscSequence(V) #else void writeEscSequence8(u8g_t *u8g, u8g_dev_t *dev, const uint16_t *sequence) { uint16_t data; @@ -290,6 +291,8 @@ void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint } u8g_SetAddress(u8g, dev, 1); } + + #define WRITE_ESC_SEQUENCE16(V) writeEscSequence16(u8g, dev, V) #endif static const uint16_t st7789v_init[] = { @@ -652,7 +655,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u setWindow = setWindow_st7789v; break; case 0x9328: // ILI9328 - WRITE_ESC_SEQUENCE(ili9328_init); + WRITE_ESC_SEQUENCE16(ili9328_init); setWindow = setWindow_ili9328; break; case 0x9341: // ILI9341 From d0fec3682a4b64ee02c98a38653d40ea4f7b9ef8 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 19:21:59 -0300 Subject: [PATCH 10/19] better init code for 0x8066 --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index edda055b2b9e..b35131770ef5 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -660,7 +660,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u break; case 0x9341: // ILI9341 case 0x8066: // Anycubic / TronXY TFTs (480x320) - WRITE_ESC_SEQUENCE(ili9341_init); + WRITE_ESC_SEQUENCE(ili9488_init); setWindow = setWindow_st7789v; break; case 0x7796: From 87125894e0db6202424198ca80d6c8ea44cd1701 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 20:58:55 -0300 Subject: [PATCH 11/19] back the way it worked.. --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 619534f4d7c1..1553451d5b80 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -210,8 +210,8 @@ #define BTN_EN2 PE11 #if ENABLED(FSMC_GRAPHICAL_TFT) - //#define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - //#define DOGLCD_SCK -1 + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + #define DOGLCD_SCK -1 #ifndef FSMC_UPSCALE #define FSMC_UPSCALE 3 From 70ad723e96e40776d12cb3501a1fb8f902ace789 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 21:15:51 -0300 Subject: [PATCH 12/19] isolate FSMC --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 1553451d5b80..1e2d0cb65b64 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -200,7 +200,7 @@ #endif -#if HAS_SPI_LCD +#if HAS_SPI_LCD && DISABLED(FSMC_GRAPHICAL_TFT) #define BEEPER_PIN PC5 #define BTN_ENC PE13 @@ -209,41 +209,8 @@ #define BTN_EN1 PE8 #define BTN_EN2 PE11 - #if ENABLED(FSMC_GRAPHICAL_TFT) - #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - #define DOGLCD_SCK -1 - - #ifndef FSMC_UPSCALE - #define FSMC_UPSCALE 3 - #endif - #ifndef LCD_FULL_PIXEL_WIDTH - #define LCD_FULL_PIXEL_WIDTH 480 - #endif - #ifndef LCD_PIXEL_OFFSET_X - #define LCD_PIXEL_OFFSET_X 48 - #endif - #ifndef LCD_FULL_PIXEL_HEIGHT - #define LCD_FULL_PIXEL_HEIGHT 320 - #endif - #ifndef LCD_PIXEL_OFFSET_Y - #define LCD_PIXEL_OFFSET_Y 32 - #endif - - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 - - #define LCD_RESET_PIN PC6 // FSMC_RST - #define LCD_BACKLIGHT_PIN PD13 - - #if NEED_TOUCH_PINS - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #endif - // MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor) - #elif ENABLED(MKS_MINI_12864) + #if ENABLED(MKS_MINI_12864) #define LCD_BACKLIGHT_PIN -1 #define LCD_RESET_PIN -1 #define DOGLCD_A0 PD11 @@ -277,6 +244,39 @@ #endif // !MKS_MINI_12864 +#elif ENABLED(FSMC_GRAPHICAL_TFT) + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + #define DOGLCD_SCK -1 + + #ifndef FSMC_UPSCALE + #define FSMC_UPSCALE 3 + #endif + #ifndef LCD_FULL_PIXEL_WIDTH + #define LCD_FULL_PIXEL_WIDTH 480 + #endif + #ifndef LCD_PIXEL_OFFSET_X + #define LCD_PIXEL_OFFSET_X 48 + #endif + #ifndef LCD_FULL_PIXEL_HEIGHT + #define LCD_FULL_PIXEL_HEIGHT 320 + #endif + #ifndef LCD_PIXEL_OFFSET_Y + #define LCD_PIXEL_OFFSET_Y 32 + #endif + + #define FSMC_CS_PIN PD7 // NE4 + #define FSMC_RS_PIN PD11 // A0 + + #define LCD_RESET_PIN PC6 // FSMC_RST + #define LCD_BACKLIGHT_PIN PD13 + + #if NEED_TOUCH_PINS + #define TOUCH_CS_PIN PA7 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #endif + #endif // HAS_SPI_LCD #define SPI_FLASH From 1db9541c8a520d74843f473ced2832973d0d2c01 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 22:36:08 -0300 Subject: [PATCH 13/19] remove non supported displays --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 48 +------------------ 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 1e2d0cb65b64..bea1b0de66fb 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -198,52 +198,6 @@ #define LCD_BACKLIGHT_PIN PD13 -#endif - -#if HAS_SPI_LCD && DISABLED(FSMC_GRAPHICAL_TFT) - - #define BEEPER_PIN PC5 - #define BTN_ENC PE13 - #define LCD_PINS_ENABLE PD13 - #define LCD_PINS_RS PC6 - #define BTN_EN1 PE8 - #define BTN_EN2 PE11 - - // MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor) - #if ENABLED(MKS_MINI_12864) - #define LCD_BACKLIGHT_PIN -1 - #define LCD_RESET_PIN -1 - #define DOGLCD_A0 PD11 - #define DOGLCD_CS PE15 - #define DOGLCD_SCK PA5 - #define DOGLCD_MOSI PA7 - - // Required for MKS_MINI_12864 with this board - #define MKS_LCD12864B - #undef SHOW_BOOTSCREEN - - #else // !MKS_MINI_12864 - - #define LCD_BACKLIGHT_PIN -1 - #define LCD_PINS_D4 PE14 - #if ENABLED(ULTIPANEL) - #define LCD_PINS_D5 PE15 - #define LCD_PINS_D6 PD11 - #define LCD_PINS_D7 PD10 - #endif - - #ifndef BOARD_ST7920_DELAY_1 - #define BOARD_ST7920_DELAY_1 DELAY_NS(125) - #endif - #ifndef BOARD_ST7920_DELAY_2 - #define BOARD_ST7920_DELAY_2 DELAY_NS(125) - #endif - #ifndef BOARD_ST7920_DELAY_3 - #define BOARD_ST7920_DELAY_3 DELAY_NS(125) - #endif - - #endif // !MKS_MINI_12864 - #elif ENABLED(FSMC_GRAPHICAL_TFT) #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h #define DOGLCD_SCK -1 @@ -277,7 +231,7 @@ #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI #endif -#endif // HAS_SPI_LCD +#endif #define SPI_FLASH #if ENABLED(SPI_FLASH) From 569bd65ccac5c1fea0a2537fab3ff555d067c966 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 22:38:32 -0300 Subject: [PATCH 14/19] enable dma again... --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index bea1b0de66fb..77c650f71605 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -221,6 +221,10 @@ #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 + #define LCD_RESET_PIN PC6 // FSMC_RST #define LCD_BACKLIGHT_PIN PD13 From 1e8660e2f39e69204fed3e8788f6755bf88794fd Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 22:39:11 -0300 Subject: [PATCH 15/19] indent --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 77c650f71605..559d643ba566 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -199,40 +199,40 @@ #define LCD_BACKLIGHT_PIN PD13 #elif ENABLED(FSMC_GRAPHICAL_TFT) - #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - #define DOGLCD_SCK -1 + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + #define DOGLCD_SCK -1 #ifndef FSMC_UPSCALE - #define FSMC_UPSCALE 3 + #define FSMC_UPSCALE 3 #endif #ifndef LCD_FULL_PIXEL_WIDTH - #define LCD_FULL_PIXEL_WIDTH 480 + #define LCD_FULL_PIXEL_WIDTH 480 #endif #ifndef LCD_PIXEL_OFFSET_X #define LCD_PIXEL_OFFSET_X 48 #endif #ifndef LCD_FULL_PIXEL_HEIGHT - #define LCD_FULL_PIXEL_HEIGHT 320 + #define LCD_FULL_PIXEL_HEIGHT 320 #endif #ifndef LCD_PIXEL_OFFSET_Y #define LCD_PIXEL_OFFSET_Y 32 #endif - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 + #define FSMC_CS_PIN PD7 // NE4 + #define FSMC_RS_PIN PD11 // A0 - #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT - #define FSMC_DMA_DEV DMA2 - #define FSMC_DMA_CHANNEL DMA_CH5 + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 - #define LCD_RESET_PIN PC6 // FSMC_RST - #define LCD_BACKLIGHT_PIN PD13 + #define LCD_RESET_PIN PC6 // FSMC_RST + #define LCD_BACKLIGHT_PIN PD13 #if NEED_TOUCH_PINS - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #define TOUCH_CS_PIN PA7 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI #endif #endif From 96d2f61579011f46eaa8f14f00f72cf3003a40c9 Mon Sep 17 00:00:00 2001 From: Victor Mateus Oliveira Date: Sun, 2 Aug 2020 22:45:22 -0300 Subject: [PATCH 16/19] remove log --- Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index b35131770ef5..6d91b2d558d4 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -723,8 +723,6 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u case U8G_DEV_MSG_PAGE_NEXT: if (++page > (HEIGHT / PAGE_HEIGHT)) return 1; - SERIAL_ECHOLNPAIR("LCD ID: ", lcd_id); - LOOP_L_N(y, PAGE_HEIGHT) { uint32_t k = 0; #if HAS_LCD_IO From 3d305a6eaa9be300e330e01bb5d33cbcdef4f9e9 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 3 Aug 2020 23:27:34 -0500 Subject: [PATCH 17/19] Small clarification --- Marlin/src/inc/SanityCheck.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 5608fcff0330..e1b162a96f98 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -819,7 +819,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS */ #if ENABLED(ADVANCED_PAUSE_FEATURE) #if !HAS_RESUME_CONTINUE - #error "ADVANCED_PAUSE_FEATURE currently requires an LCD controller or EMERGENCY_PARSER." + #error "ADVANCED_PAUSE_FEATURE requires a supported LCD controller (or EMERGENCY_PARSER)." #elif DISABLED(NOZZLE_PARK_FEATURE) #error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE." #elif !defined(FILAMENT_UNLOAD_PURGE_FEEDRATE) From 05a47bd6f32f07e13753015cee2506e9b805b8ab Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 3 Aug 2020 23:35:46 -0500 Subject: [PATCH 18/19] ferx some herx --- .../src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 5ea58374d260..82bef7824444 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -382,8 +382,8 @@ static const uint16_t ili9341_init[] = { }; static const uint16_t ili9488_init[] = { - ESC_REG(0X00E0), 0X0000, 0X0007, 0X000F, 0X000D, 0X001B, 0X000A, 0X003C, 0X0078, 0X004A, 0X0007, 0X000E, 0X0009, 0X001B, 0X001E, 0X000F, - ESC_REG(0X00E1), 0X0000, 0X0022, 0X0024, 0X0006, 0X0012, 0X0007, 0X0036, 0X0047, 0X0047, 0X0006, 0X000A, 0X0007, 0X0030, 0X0037, 0X000F, + ESC_REG(0x00E0), 0x0000, 0x0007, 0x000F, 0x000D, 0x001B, 0x000A, 0x003C, 0x0078, 0x004A, 0x0007, 0x000E, 0x0009, 0x001B, 0x001E, 0x000F, + ESC_REG(0x00E1), 0x0000, 0x0022, 0x0024, 0x0006, 0x0012, 0x0007, 0x0036, 0x0047, 0x0047, 0x0006, 0x000A, 0x0007, 0x0030, 0x0037, 0x000F, ESC_REG(0x00C0), 0x0010, 0x0010, ESC_REG(0x00C1), 0x0041, ESC_REG(0x00C5), 0x0000, 0x0022, 0x0080, From 850b5d2f3353871f97142e41473f439601c69884 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 3 Aug 2020 23:31:21 -0500 Subject: [PATCH 19/19] No TFT_LVGL_UI_SPI for Robin nano --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 559d643ba566..a68b4810717b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -165,28 +165,7 @@ * to let the bootloader init the screen. */ -#if ENABLED(TFT_LVGL_UI_SPI) - - #define SPI_TFT_CS_PIN PD11 - #define SPI_TFT_SCK_PIN PA5 - #define SPI_TFT_MISO_PIN PA6 - #define SPI_TFT_MOSI_PIN PA7 - #define SPI_TFT_DC_PIN PD10 - #define SPI_TFT_RST_PIN PC6 - - #define LCD_BACKLIGHT_PIN PD13 - - #define TOUCH_CS_PIN PE14 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI - - #define BTN_EN1 PE8 - #define BTN_EN2 PE11 - #define BEEPER_PIN PC5 - #define BTN_ENC PE13 - -#elif ENABLED(TFT_LVGL_UI_FSMC) +#if ENABLED(TFT_LVGL_UI_FSMC) #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 @@ -199,6 +178,7 @@ #define LCD_BACKLIGHT_PIN PD13 #elif ENABLED(FSMC_GRAPHICAL_TFT) + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h #define DOGLCD_SCK -1