Ver código fonte

Working LCD_USE_DMA_FSMC (#19522)

Tanguy Pruvot 3 anos atrás
pai
commit
f3de0f6c53
Nenhuma conta vinculada ao e-mail do autor do commit

+ 10
- 0
Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp Ver arquivo

89
   uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN;
89
   uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN;
90
   uint32_t controllerAddress;
90
   uint32_t controllerAddress;
91
 
91
 
92
+  #if PIN_EXISTS(TFT_BACKLIGHT)
93
+    OUT_WRITE(TFT_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT));
94
+  #endif
95
+
96
+  #if ENABLED(LCD_USE_DMA_FSMC)
97
+    dma_init(FSMC_DMA_DEV);
98
+    dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL);
99
+    dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM);
100
+  #endif
101
+
92
   #if PIN_EXISTS(TFT_RESET)
102
   #if PIN_EXISTS(TFT_RESET)
93
     OUT_WRITE(TFT_RESET_PIN, HIGH);
103
     OUT_WRITE(TFT_RESET_PIN, HIGH);
94
     delay(100);
104
     delay(100);

+ 1
- 1
Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h Ver arquivo

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

Carregando…
Cancelar
Salvar