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
 #define DISABLE_JTAG
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
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
56
   #define EEPROM_PAGE_SIZE     (0x800U) // 2KB
50
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
57
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
51
   #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE)
58
   #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE)
52
-#else
53
-  #define SDCARD_EEPROM_EMULATION
54
 #endif
59
 #endif
55
 
60
 
56
 //
61
 //
102
 #define TEMP_BED_PIN                        PC0   // TB1
107
 #define TEMP_BED_PIN                        PC0   // TB1
103
 
108
 
104
 //
109
 //
105
-// Heaters / Fans
110
+// Heaters
106
 //
111
 //
107
 #define HEATER_0_PIN                        PC7   // HEATER1
112
 #define HEATER_0_PIN                        PC7   // HEATER1
108
 #define HEATER_1_PIN                        PA6   // HEATER2
113
 #define HEATER_1_PIN                        PA6   // HEATER2
109
 #define HEATER_BED_PIN                      PC6   // HOT BED
114
 #define HEATER_BED_PIN                      PC6   // HOT BED
110
 
115
 
116
+//
117
+// Fan
118
+//
111
 #define FAN_PIN                             PA7   // FAN
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
 //#define MAX6675_SS_PIN                    PE5   // TC1 - CS1
124
 //#define MAX6675_SS_PIN                    PE5   // TC1 - CS1
117
 //#define MAX6675_SS_PIN                    PE6   // TC2 - CS2
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
 #define POWER_LOSS_PIN                      PA2   // PW_DET
135
 #define POWER_LOSS_PIN                      PA2   // PW_DET
136
+
137
+//
138
+// Power supply control
139
+//
120
 #define PS_ON_PIN                           PA3   // PW_OFF
140
 #define PS_ON_PIN                           PA3   // PW_OFF
121
-#define FIL_RUNOUT_PIN                      PF11  // MT_DET
122
 
141
 
142
+//
143
+// Piezzoelectric speaker
144
+//
123
 #define BEEPER_PIN                          PC13
145
 #define BEEPER_PIN                          PC13
146
+
147
+//
148
+// Activity LED
149
+//
124
 #define LED_PIN                             PB2
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
 #if HAS_FSMC_TFT
160
 #if HAS_FSMC_TFT
127
   /**
161
   /**
128
    * Note: MKS Robin TFT screens use various TFT controllers
162
    * Note: MKS Robin TFT screens use various TFT controllers
151
 
185
 
152
   #define TOUCH_BUTTONS_HW_SPI
186
   #define TOUCH_BUTTONS_HW_SPI
153
   #define TOUCH_BUTTONS_HW_SPI_DEVICE          2
187
   #define TOUCH_BUTTONS_HW_SPI_DEVICE          2
188
+  #define TFT_BUFFER_SIZE                  14400
154
 #endif
189
 #endif
155
 
190
 
156
 #if NEED_TOUCH_PINS
191
 #if NEED_TOUCH_PINS
161
   #define TOUCH_INT_PIN                     -1
196
   #define TOUCH_INT_PIN                     -1
162
 #endif
197
 #endif
163
 
198
 
199
+// SPI2 is shared by LCD touch driver and flash
164
 // SPI1(PA7) & SPI3(PB5) not available
200
 // SPI1(PA7) & SPI3(PB5) not available
165
 #define SPI_DEVICE                             2
201
 #define SPI_DEVICE                             2
166
 
202
 
193
   #define SD_DETECT_PIN                     -1
229
   #define SD_DETECT_PIN                     -1
194
 #endif
230
 #endif
195
 
231
 
232
+//
233
+// Trinamic TMC2208/2209 UART
234
+//
196
 #if HAS_TMC_UART
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
     #define TMC_BAUD_RATE                  19200
269
     #define TMC_BAUD_RATE                  19200
222
   #endif
270
   #endif
223
 #endif
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