Browse Source

Working LCD_USE_DMA_FSMC (#19522)

vanilla_fb_2.0.x
Tanguy Pruvot 4 years ago
committed by Scott Lahteine
parent
commit
717de1e703
  1. 10
      Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp
  2. 2
      Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h

10
Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp

@ -89,6 +89,16 @@ void TFT_FSMC::Init() {
uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN; uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN;
uint32_t controllerAddress; uint32_t controllerAddress;
#if PIN_EXISTS(TFT_BACKLIGHT)
OUT_WRITE(TFT_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT));
#endif
#if ENABLED(LCD_USE_DMA_FSMC)
dma_init(FSMC_DMA_DEV);
dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM);
#endif
#if PIN_EXISTS(TFT_RESET) #if PIN_EXISTS(TFT_RESET)
OUT_WRITE(TFT_RESET_PIN, HIGH); OUT_WRITE(TFT_RESET_PIN, HIGH);
delay(100); delay(100);

2
Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h

@ -124,7 +124,7 @@
#define FSMC_CS_PIN PD7 // pin 88 = FSMC_NE1 #define FSMC_CS_PIN PD7 // pin 88 = FSMC_NE1
#define FSMC_RS_PIN PD11 // pin 58 A16 Register. Only one address needed #define FSMC_RS_PIN PD11 // pin 58 A16 Register. Only one address needed
//#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT (broken) #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
#define FSMC_DMA_DEV DMA2 #define FSMC_DMA_DEV DMA2
#define FSMC_DMA_CHANNEL DMA_CH5 #define FSMC_DMA_CHANNEL DMA_CH5

Loading…
Cancel
Save