Browse Source

Improved MKS Robin support (#19333)

TheCodeExorcist 4 years ago
parent
commit
3009707723
No account linked to committer's email address
1 changed files with 91 additions and 31 deletions
  1. 91
    31
      Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h

+ 91
- 31
Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h View File

@@ -42,15 +42,20 @@
42 42
 #define DISABLE_JTAG
43 43
 
44 44
 //
45
-// Enable SD EEPROM to prevent infinite boot loop
45
+// EEPROM
46 46
 //
47
-#ifdef ARDUINO_ARCH_STM32
48
-  #define FLASH_EEPROM_EMULATION
47
+#if NO_EEPROM_SELECTED
48
+  #ifdef ARDUINO_ARCH_STM32
49
+    #define FLASH_EEPROM_EMULATION
50
+  #else
51
+    #define SDCARD_EEPROM_EMULATION
52
+  #endif
53
+#endif
54
+
55
+#if ENABLED(FLASH_EEPROM_EMULATION)
49 56
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
50 57
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
51 58
   #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE)
52
-#else
53
-  #define SDCARD_EEPROM_EMULATION
54 59
 #endif
55 60
 
56 61
 //
@@ -102,27 +107,56 @@
102 107
 #define TEMP_BED_PIN                        PC0   // TB1
103 108
 
104 109
 //
105
-// Heaters / Fans
110
+// Heaters
106 111
 //
107 112
 #define HEATER_0_PIN                        PC7   // HEATER1
108 113
 #define HEATER_1_PIN                        PA6   // HEATER2
109 114
 #define HEATER_BED_PIN                      PC6   // HOT BED
110 115
 
116
+//
117
+// Fan
118
+//
111 119
 #define FAN_PIN                             PA7   // FAN
112 120
 
113
-/**
114
- * Note: MKS Robin board is using SPI2 interface. Make sure your stm32duino library is configured accordingly
115
- */
121
+//
122
+// Thermocouples
123
+//
116 124
 //#define MAX6675_SS_PIN                    PE5   // TC1 - CS1
117 125
 //#define MAX6675_SS_PIN                    PE6   // TC2 - CS2
118 126
 
127
+//
128
+// Filament runout sensor
129
+//
130
+#define FIL_RUNOUT_PIN                      PF11  // MT_DET
131
+
132
+//
133
+// Power loss detection
134
+//
119 135
 #define POWER_LOSS_PIN                      PA2   // PW_DET
136
+
137
+//
138
+// Power supply control
139
+//
120 140
 #define PS_ON_PIN                           PA3   // PW_OFF
121
-#define FIL_RUNOUT_PIN                      PF11  // MT_DET
122 141
 
142
+//
143
+// Piezzoelectric speaker
144
+//
123 145
 #define BEEPER_PIN                          PC13
146
+
147
+//
148
+// Activity LED
149
+//
124 150
 #define LED_PIN                             PB2
125 151
 
152
+//
153
+// ESP12-S Wi-Fi module
154
+//
155
+#define WIFI_IO0_PIN                        PG1
156
+
157
+//
158
+// LCD screen
159
+//
126 160
 #if HAS_FSMC_TFT
127 161
   /**
128 162
    * Note: MKS Robin TFT screens use various TFT controllers
@@ -151,6 +185,7 @@
151 185
 
152 186
   #define TOUCH_BUTTONS_HW_SPI
153 187
   #define TOUCH_BUTTONS_HW_SPI_DEVICE          2
188
+  #define TFT_BUFFER_SIZE                  14400
154 189
 #endif
155 190
 
156 191
 #if NEED_TOUCH_PINS
@@ -161,6 +196,7 @@
161 196
   #define TOUCH_INT_PIN                     -1
162 197
 #endif
163 198
 
199
+// SPI2 is shared by LCD touch driver and flash
164 200
 // SPI1(PA7) & SPI3(PB5) not available
165 201
 #define SPI_DEVICE                             2
166 202
 
@@ -193,31 +229,55 @@
193 229
   #define SD_DETECT_PIN                     -1
194 230
 #endif
195 231
 
232
+//
233
+// Trinamic TMC2208/2209 UART
234
+//
196 235
 #if HAS_TMC_UART
197 236
   /**
198
-   * TMC2208/TMC2209 stepper drivers
237
+   * This board does not have dedicated TMC UART pins. Custom wiring is needed.
238
+   * You may uncomment one of the options below, or add it to your Configuration.h.
239
+   *
240
+   * When using up to four TMC2209 drivers, hardware serial is recommented on
241
+   * MSerial0 or MSerial1.
199 242
    *
200
-   * Hardware serial communication ports.
201
-   * If undefined software serial is used according to the pins below
243
+   * When using TMC2208 or more than four drivers, SoftwareSerial will be needed,
244
+   * to provide dedicated pins for each drier.
202 245
    */
203
-  //#define X_HARDWARE_SERIAL  MSerial1
204
-  //#define Y_HARDWARE_SERIAL  MSerial1
205
-  //#define Z_HARDWARE_SERIAL  MSerial1
206
-  //#define E0_HARDWARE_SERIAL MSerial1
207
-  //#define E1_HARDWARE_SERIAL MSerial1
208
-
209
-  // Unused servo pins may be repurposed with SoftwareSerialM
210
-  //#define X_SERIAL_TX_PIN                 PF8   // SERVO3_PIN -- XS2 - 6
211
-  //#define Y_SERIAL_TX_PIN                 PF9   // SERVO2_PIN -- XS2 - 5
212
-  //#define Z_SERIAL_TX_PIN                 PA1   // SERVO1_PIN -- XS1 - 6
213
-  //#define E0_SERIAL_TX_PIN                PC3   // SERVO0_PIN -- XS1 - 5
214
-  //#define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
215
-  //#define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
216
-  //#define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
217
-  //#define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
218
-
219
-  // Reduce baud rate for software serial reliability
220
-  #if HAS_TMC_SW_SERIAL
246
+
247
+  //#define TMC_HARDWARE_SERIAL
248
+  #if ENABLED(TMC_HARDWARE_SERIAL)
249
+    #define X_HARDWARE_SERIAL            MSerial0
250
+    #define X2_HARDWARE_SERIAL           MSerial0
251
+    #define Y_HARDWARE_SERIAL            MSerial0
252
+    #define Y2_HARDWARE_SERIAL           MSerial0
253
+    #define Z_HARDWARE_SERIAL            MSerial0
254
+    #define Z2_HARDWARE_SERIAL           MSerial0
255
+    #define E0_HARDWARE_SERIAL           MSerial0
256
+    #define E1_HARDWARE_SERIAL           MSerial0
257
+  #endif
258
+
259
+  //#define TMC_SOFTWARE_SERIAL
260
+  #if ENABLED(TMC_SOFTWARE_SERIAL)
261
+    #define X_SERIAL_TX_PIN                 PF8   // SERVO3_PIN -- XS2 - 6
262
+    #define Y_SERIAL_TX_PIN                 PF9   // SERVO2_PIN -- XS2 - 5
263
+    #define Z_SERIAL_TX_PIN                 PA1   // SERVO1_PIN -- XS1 - 6
264
+    #define E0_SERIAL_TX_PIN                PC3   // SERVO0_PIN -- XS1 - 5
265
+    #define X_SERIAL_RX_PIN      X_SERIAL_TX_PIN
266
+    #define Y_SERIAL_RX_PIN      Y_SERIAL_TX_PIN
267
+    #define Z_SERIAL_RX_PIN      Z_SERIAL_TX_PIN
268
+    #define E0_SERIAL_RX_PIN    E0_SERIAL_TX_PIN
221 269
     #define TMC_BAUD_RATE                  19200
222 270
   #endif
223 271
 #endif
272
+
273
+//
274
+// W25Q64 64Mb (8MB) SPI flash
275
+//
276
+#define HAS_SPI_FLASH                          1
277
+#if HAS_SPI_FLASH
278
+  #define SPI_FLASH_SIZE                0x800000  // 8MB
279
+  #define W25QXX_CS_PIN                     PG9
280
+  #define W25QXX_MOSI_PIN                   PB15
281
+  #define W25QXX_MISO_PIN                   PB14
282
+  #define W25QXX_SCK_PIN                    PB13
283
+#endif

Loading…
Cancel
Save