Selaa lähdekoodia

Fix compilation for STM32F1 with no SDIO (#13366)

jmz52 5 vuotta sitten
vanhempi
commit
013bb469ca

+ 2
- 2
Marlin/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.cpp Näytä tiedosto

@@ -21,7 +21,7 @@
21 21
  *
22 22
  */
23 23
 
24
-#ifdef __STM32F1__
24
+#if defined(__STM32F1__) && (defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY))
25 25
 
26 26
 #include "HAL_sdio_STM32F1.h"
27 27
 
@@ -264,4 +264,4 @@ bool SDIO_GetCmdResp7(void) {
264 264
   return true;
265 265
 }
266 266
 
267
-#endif // __STM32F1__
267
+#endif // __STM32F1__ && (STM32_HIGH_DENSITY || STM32_XL_DENSITY)

+ 66
- 53
Marlin/src/HAL/HAL_STM32F1/u8g_com_stm32duino_fsmc.cpp Näytä tiedosto

@@ -26,7 +26,7 @@
26 26
  * Communication interface for FSMC
27 27
  */
28 28
 
29
-#if defined(STM32F1) || defined(STM32F1xx)
29
+#if (defined(STM32F1) || defined(STM32F1xx)) && (defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY))
30 30
 
31 31
 #include "../../inc/MarlinConfig.h"
32 32
 
@@ -108,36 +108,43 @@ __attribute__((always_inline)) __STATIC_INLINE void __DSB(void) {
108 108
 }
109 109
 
110 110
 #define FSMC_CS_NE1  PD7
111
-#define FSMC_CS_NE2  PG9
112
-#define FSMC_CS_NE3  PG10
113
-#define FSMC_CS_NE4  PG12
114
-
115
-#define FSMC_RS_A0   PF0
116
-#define FSMC_RS_A1   PF1
117
-#define FSMC_RS_A2   PF2
118
-#define FSMC_RS_A3   PF3
119
-#define FSMC_RS_A4   PF4
120
-#define FSMC_RS_A5   PF5
121
-#define FSMC_RS_A6   PF12
122
-#define FSMC_RS_A7   PF13
123
-#define FSMC_RS_A8   PF14
124
-#define FSMC_RS_A9   PF15
125
-#define FSMC_RS_A10  PG0
126
-#define FSMC_RS_A11  PG1
127
-#define FSMC_RS_A12  PG2
128
-#define FSMC_RS_A13  PG3
129
-#define FSMC_RS_A14  PG4
130
-#define FSMC_RS_A15  PG5
131
-#define FSMC_RS_A16  PD11
132
-#define FSMC_RS_A17  PD12
133
-#define FSMC_RS_A18  PD13
134
-#define FSMC_RS_A19  PE3
135
-#define FSMC_RS_A20  PE4
136
-#define FSMC_RS_A21  PE5
137
-#define FSMC_RS_A22  PE6
138
-#define FSMC_RS_A23  PE2
139
-#define FSMC_RS_A24  PG13
140
-#define FSMC_RS_A25  PG14
111
+
112
+#ifdef STM32_XL_DENSITY
113
+  #define FSMC_CS_NE2 PG9
114
+  #define FSMC_CS_NE3 PG10
115
+  #define FSMC_CS_NE4 PG12
116
+
117
+  #define FSMC_RS_A0  PF0
118
+  #define FSMC_RS_A1  PF1
119
+  #define FSMC_RS_A2  PF2
120
+  #define FSMC_RS_A3  PF3
121
+  #define FSMC_RS_A4  PF4
122
+  #define FSMC_RS_A5  PF5
123
+  #define FSMC_RS_A6  PF12
124
+  #define FSMC_RS_A7  PF13
125
+  #define FSMC_RS_A8  PF14
126
+  #define FSMC_RS_A9  PF15
127
+  #define FSMC_RS_A10 PG0
128
+  #define FSMC_RS_A11 PG1
129
+  #define FSMC_RS_A12 PG2
130
+  #define FSMC_RS_A13 PG3
131
+  #define FSMC_RS_A14 PG4
132
+  #define FSMC_RS_A15 PG5
133
+#endif
134
+
135
+#define FSMC_RS_A16   PD11
136
+#define FSMC_RS_A17   PD12
137
+#define FSMC_RS_A18   PD13
138
+#define FSMC_RS_A19   PE3
139
+#define FSMC_RS_A20   PE4
140
+#define FSMC_RS_A21   PE5
141
+#define FSMC_RS_A22   PE6
142
+#define FSMC_RS_A23   PE2
143
+
144
+#ifdef STM32_XL_DENSITY
145
+  #define FSMC_RS_A24 PG13
146
+  #define FSMC_RS_A25 PG14
147
+#endif
141 148
 
142 149
 static uint8_t fsmcInit = 0;
143 150
 
@@ -156,31 +163,35 @@ void LCD_IO_Init(uint8_t cs, uint8_t rs) {
156 163
 
157 164
   switch (cs) {
158 165
     case FSMC_CS_NE1: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION1; break;
159
-    case FSMC_CS_NE2: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION2; break;
160
-    case FSMC_CS_NE3: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION3; break;
161
-    case FSMC_CS_NE4: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION4; break;
166
+    #ifdef STM32_XL_DENSITY
167
+      case FSMC_CS_NE2: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION2; break;
168
+      case FSMC_CS_NE3: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION3; break;
169
+      case FSMC_CS_NE4: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION4; break;
170
+    #endif
162 171
     default: return;
163 172
   }
164 173
 
165 174
   #define _ORADDR(N) controllerAddress |= (_BV32(N) - 2)
166 175
 
167 176
   switch (rs) {
168
-    case FSMC_RS_A0:  _ORADDR( 1); break;
169
-    case FSMC_RS_A1:  _ORADDR( 2); break;
170
-    case FSMC_RS_A2:  _ORADDR( 3); break;
171
-    case FSMC_RS_A3:  _ORADDR( 4); break;
172
-    case FSMC_RS_A4:  _ORADDR( 5); break;
173
-    case FSMC_RS_A5:  _ORADDR( 6); break;
174
-    case FSMC_RS_A6:  _ORADDR( 7); break;
175
-    case FSMC_RS_A7:  _ORADDR( 8); break;
176
-    case FSMC_RS_A8:  _ORADDR( 9); break;
177
-    case FSMC_RS_A9:  _ORADDR(10); break;
178
-    case FSMC_RS_A10: _ORADDR(11); break;
179
-    case FSMC_RS_A11: _ORADDR(12); break;
180
-    case FSMC_RS_A12: _ORADDR(13); break;
181
-    case FSMC_RS_A13: _ORADDR(14); break;
182
-    case FSMC_RS_A14: _ORADDR(15); break;
183
-    case FSMC_RS_A15: _ORADDR(16); break;
177
+    #ifdef STM32_XL_DENSITY
178
+      case FSMC_RS_A0:  _ORADDR( 1); break;
179
+      case FSMC_RS_A1:  _ORADDR( 2); break;
180
+      case FSMC_RS_A2:  _ORADDR( 3); break;
181
+      case FSMC_RS_A3:  _ORADDR( 4); break;
182
+      case FSMC_RS_A4:  _ORADDR( 5); break;
183
+      case FSMC_RS_A5:  _ORADDR( 6); break;
184
+      case FSMC_RS_A6:  _ORADDR( 7); break;
185
+      case FSMC_RS_A7:  _ORADDR( 8); break;
186
+      case FSMC_RS_A8:  _ORADDR( 9); break;
187
+      case FSMC_RS_A9:  _ORADDR(10); break;
188
+      case FSMC_RS_A10: _ORADDR(11); break;
189
+      case FSMC_RS_A11: _ORADDR(12); break;
190
+      case FSMC_RS_A12: _ORADDR(13); break;
191
+      case FSMC_RS_A13: _ORADDR(14); break;
192
+      case FSMC_RS_A14: _ORADDR(15); break;
193
+      case FSMC_RS_A15: _ORADDR(16); break;
194
+    #endif
184 195
     case FSMC_RS_A16: _ORADDR(17); break;
185 196
     case FSMC_RS_A17: _ORADDR(18); break;
186 197
     case FSMC_RS_A18: _ORADDR(19); break;
@@ -189,8 +200,10 @@ void LCD_IO_Init(uint8_t cs, uint8_t rs) {
189 200
     case FSMC_RS_A21: _ORADDR(22); break;
190 201
     case FSMC_RS_A22: _ORADDR(23); break;
191 202
     case FSMC_RS_A23: _ORADDR(24); break;
192
-    case FSMC_RS_A24: _ORADDR(25); break;
193
-    case FSMC_RS_A25: _ORADDR(26); break;
203
+    #ifdef STM32_XL_DENSITY
204
+      case FSMC_RS_A24: _ORADDR(25); break;
205
+      case FSMC_RS_A25: _ORADDR(26); break;
206
+    #endif
194 207
     default: return;
195 208
   }
196 209
 
@@ -254,4 +267,4 @@ uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize) {
254 267
 
255 268
 #endif // HAS_GRAPHICAL_LCD
256 269
 
257
-#endif // STM32F1 || STM32F1xx
270
+#endif // (STM32F1 || STM32F1xx) && (STM32_HIGH_DENSITY || STM32_XL_DENSITY)

Loading…
Peruuta
Tallenna