Explorar el Código

FLSun Hispeedv1 Board update (#19959)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Foxies hace 4 años
padre
commit
c1920f31ca
No account linked to committer's email address
Se han modificado 1 ficheros con 86 adiciones y 102 borrados
  1. 86
    102
      Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h

+ 86
- 102
Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h Ver fichero

@@ -50,15 +50,16 @@
50 50
 //
51 51
 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
52 52
   #define FLASH_EEPROM_EMULATION
53
-  #define EEPROM_PAGE_SIZE     (0x800U)          // 2KB
53
+  #define EEPROM_PAGE_SIZE     (0x800U)           // 2KB
54 54
   #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
55 55
   #define MARLIN_EEPROM_SIZE    EEPROM_PAGE_SIZE  // 2KB
56 56
 #endif
57 57
 
58
+//
58 59
 // SPI
59 60
 // Note: FLSun Hispeed (clone MKS_Robin_miniV2) board is using SPI2 interface.
60 61
 //
61
-#define SPI_DEVICE                             2
62
+#define SPI_DEVICE 2
62 63
 
63 64
 // SPI Flash
64 65
 #define HAS_SPI_FLASH                          1
@@ -108,49 +109,26 @@
108 109
 #define E0_STEP_PIN                         PD6   // E0_STEP
109 110
 #define E0_DIR_PIN                          PD3   // E0_DIR
110 111
 
112
+/**
113
+ * FLSUN Hi-Speed has no hard-wired UART pins for TMC drivers.
114
+ * Several wiring options are provided below, defaulting to
115
+ * to the most compatible.
116
+ */
117
+
111 118
 //
112 119
 // Drivers
113 120
 //
114 121
 #if HAS_TMC220x
115
-
116
-  #if ENABLED(HARDWARE_SERIAL)  /*  TMC2209 */
117
-    #define X_SLAVE_ADDRESS                    3  // |  |  :
118
-    #define Y_SLAVE_ADDRESS                    2  // :  |  :
119
-    #define Z_SLAVE_ADDRESS                    1  // |  :  :
120
-    //#define E0_SLAVE_ADDRESS                 0  // :  :  :
121
-
122
-    #define X_SERIAL_TX_PIN                 PA9   // TXD1
123
-    #define X_SERIAL_RX_PIN                 PA9   // TXD1
124
-
125
-    #define Y_SERIAL_TX_PIN                 PA9   // TXD1
126
-    #define Y_SERIAL_RX_PIN                 PA9   // TXD1
127
-
128
-    #define Z_SERIAL_TX_PIN                 PA9   // TXD1
129
-    #define Z_SERIAL_RX_PIN                 PA9   // TXD1
130
-
131
-  #elif ENABLED(SOFTWARE_SERIAL)  /*  TMC220x   */
132
-    /**
133
-     * TMC2208 stepper UART-configurable by PDN_UART pin
134
-     * Software serial
135
-     */
136
-    #define X_SLAVE_ADDRESS                    0
137
-    #define Y_SLAVE_ADDRESS                    0
138
-    #define Z_SLAVE_ADDRESS                    0
139
-
140
-    #define X_SERIAL_TX_PIN                 PA10  // RXD1
141
-    #define X_SERIAL_RX_PIN                 PA10  // RXD1
142
-
143
-    #define Y_SERIAL_TX_PIN                 PA9   // TXD1
144
-    #define Y_SERIAL_RX_PIN                 PA9   // TXD1
145
-
146
-    #define Z_SERIAL_TX_PIN                 PC7   // IO1
147
-    #define Z_SERIAL_RX_PIN                 PC7   // IO1
148
-
149
-  #endif
150
-  // Reduce baud rate to improve software serial reliability
151
-  #define TMC_BAUD_RATE                    19200
122
+  // SoftwareSerial with one pin per driver
123
+  // Compatible with TMC2208 and TMC2209 drivers
124
+  #define X_SERIAL_TX_PIN                   PA10  // RXD1
125
+  #define X_SERIAL_RX_PIN                   PA10  // RXD1
126
+  #define Y_SERIAL_TX_PIN                   PA9   // TXD1
127
+  #define Y_SERIAL_RX_PIN                   PA9   // TXD1
128
+  #define Z_SERIAL_TX_PIN                   PC7   // IO1
129
+  #define Z_SERIAL_RX_PIN                   PC7   // IO1
130
+  #define TMC_BAUD_RATE                   19200
152 131
 #else
153
-
154 132
   // Motor current PWM pins
155 133
   #define MOTOR_CURRENT_PWM_XY_PIN          PA6   // VREF2/3 CONTROL XY
156 134
   #define MOTOR_CURRENT_PWM_Z_PIN           PA7   // VREF4 CONTROL Z
@@ -159,33 +137,33 @@
159 137
     #define DEFAULT_PWM_MOTOR_CURRENT { 800, 800, 800 }
160 138
   #endif
161 139
 
162
-  /**
163
-   * src: MKS Robin_Mini V2
164
-   *           __ESP(M1)__           -J1-
165
-   *       GND| 15 | | 08 |+3v3      (22)=>RXD1(PA10)  //
166
-   *          | 16 | | 07 |MOSI      (21)=>TXD1(PA9)   // active low, probably OK to leave floating
167
-   *       IO2| 17 | | 06 |MISO      (19)=>IO1(PC7)    // Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
168
-   *       IO0| 18 | | 05 |CLK       (18)=>IO0(PA8)    // must be high (ESP3D software configures this with a pullup so OK to leave as floating)
169
-   *       IO1| 19 | | 03 |EN        (03)=>WIFI_EN()   // Must be high for module to run
170
-   *          | nc | | nc |          (01)=>WIFI_CTRL(PA5)
171
-   *        RX| 21 | | nc |
172
-   *        TX| 22 | | 01 |RST
173
-   *             ̄ ̄ AE ̄ ̄
174
-   *
175
-   */
176
-  #ifdef ESP_WIFI
177
-    #define WIFI_IO0_PIN                    PA8   // PC13 MKS ESP WIFI IO0 PIN
178
-    #define WIFI_IO1_PIN                    PC7   // MKS ESP WIFI IO1 PIN
179
-    #define WIFI_RESET_PIN                  PA5   // MKS ESP WIFI RESET PIN
180
-  #endif
140
+/**
141
+ * MKS Robin_Wifi or another ESP8266 module
142
+ *
143
+ *      __ESP(M1)__       -J1-
144
+ *  GND| 15 | | 08 |+3v3  (22)  RXD1      (PA10)
145
+ *     | 16 | | 07 |MOSI  (21)  TXD1      (PA9)   Active LOW, probably OK to leave floating
146
+ *  IO2| 17 | | 06 |MISO  (19)  IO1       (PC7)   Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
147
+ *  IO0| 18 | | 05 |CLK   (18)  IO0       (PA8)   Must be HIGH (ESP3D software configures this with a pullup so OK to leave as floating)
148
+ *  IO1| 19 | | 03 |EN    (03)  WIFI_EN           Must be HIGH for module to run
149
+ *     | nc | | nc |      (01)  WIFI_CTRL (PA5)
150
+ *   RX| 21 | | nc |
151
+ *   TX| 22 | | 01 |RST
152
+ *        ̄ ̄ AE ̄ ̄
153
+ */
154
+  // Module ESP-WIFI
155
+  #define ESP_WIFI_MODULE_COM                  2  // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
156
+  #define ESP_WIFI_MODULE_BAUDRATE      BAUDRATE  // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
157
+  #define ESP_WIFI_MODULE_RESET_PIN         PA5   // WIFI CTRL/RST
158
+  #define ESP_WIFI_MODULE_ENABLE_PIN        -1
159
+  #define ESP_WIFI_MODULE_TXD_PIN           PA9   // MKS or ESP WIFI RX PIN
160
+  #define ESP_WIFI_MODULE_RXD_PIN           PA10  // MKS or ESP WIFI TX PIN
181 161
 #endif
182 162
 
183 163
 //
184 164
 // EXTRUDER
185 165
 //
186
-#if AXIS_DRIVER_TYPE(E0,TMC2208)||AXIS_DRIVER_TYPE(E0,TMC2209)
187
-  #define E0_SLAVE_ADDRESS                     0
188
-
166
+#if AXIS_DRIVER_TYPE_E0(TMC2208) || AXIS_DRIVER_TYPE_E0(TMC2209)
189 167
   #define E0_SERIAL_TX_PIN                  PA8   // IO0
190 168
   #define E0_SERIAL_RX_PIN                  PA8   // IO0
191 169
   #define TMC_BAUD_RATE                    19200
@@ -199,7 +177,7 @@
199 177
 #endif
200 178
 
201 179
 //
202
-// Temperature Sensors(THM)
180
+// Temperature Sensors (THM)
203 181
 //
204 182
 #define TEMP_0_PIN                          PC1   // TEMP_E0
205 183
 #define TEMP_BED_PIN                        PC0   // TEMP_BED
@@ -211,7 +189,6 @@
211 189
 #define HEATER_BED_PIN                      PA0   // HEATER_BED-WKUP
212 190
 
213 191
 #define FAN_PIN                             PB1   // E_FAN
214
-//#define CONTROLLER_FAN_PIN                PD6   // BOARD FAN
215 192
 
216 193
 //
217 194
 // Misc. Functions
@@ -221,12 +198,24 @@
221 198
   #define POWER_LOSS_PIN                    PA2   // PW_DET (UPS) MKSPWC
222 199
 #endif
223 200
 
201
+/**
202
+ *    Connector J2
203
+ *      -------
204
+ * DIO O|1   2|O  3v3
205
+ * CSK O|3   5|O  GND
206
+ * RST O|5   6|O  GND
207
+ *      -------
208
+ */
209
+//#define SW_DIO                            PA13
210
+//#define SW_CLK                            PA14
211
+//#define SW_RST                            NRST   // (14)
212
+
224 213
 //
225 214
 // Power Supply Control
226 215
 //
227 216
 #if ENABLED(PSU_CONTROL)
228 217
   #define KILL_PIN                          PA2   // PW_DET
229
-  #define KILL_PIN_INVERTING                true  //
218
+  #define KILL_PIN_INVERTING                true
230 219
   //#define PS_ON_PIN                       PA3   // PW_CN /PW_OFF
231 220
 #endif
232 221
 
@@ -240,28 +229,33 @@
240 229
 //#define LED_PIN                           PB2   // BOOT1
241 230
 
242 231
 #if ENABLED(NEOPIXEL_LED)
243
-  #define LED_PWM                           PA8
232
+  #define LED_PWM                           PC7   // IO1
244 233
   #ifndef NEOPIXEL_PIN
245
-    #define NEOPIXEL_PIN                 LED_PWM  // USED WIFI IO0/IO1/TX/RX PIN
234
+    #define NEOPIXEL_PIN                 LED_PWM  // USED WIFI IO0/IO1 PIN
246 235
   #endif
247 236
 #endif
248 237
 
249
-//Others test.
250
-//#define SERVO0_PIN                        PA5   // WIFI CRTL
251
-//#define GPIO_CLEAR                        PA8   // IO0
252
-//#define GPIO_SET                          PA5
253
-
254 238
 //
255 239
 // SD Card
256 240
 //
257
-#define SDIO_SUPPORT
258
-#define SDIO_CLOCK                       4500000  // 4.5 MHz /* 18 MHz (18000000) or 4.5MHz (450000) */
259
-//#define SDIO_CLOCK                    18000000  // 18 MHz (18000000)
260
-#if ENABLED(SDIO_SUPPORT)
261
-  #define SCK_PIN                           PB13  // SPI2
262
-  #define MISO_PIN                          PB14  // SPI2
263
-  #define MOSI_PIN                          PB15  // SPI2
264
-  #define SD_DETECT_PIN                     PD12  // SD_CD
241
+#ifndef SDCARD_CONNECTION
242
+  #define SDCARD_CONNECTION              ONBOARD
243
+#endif
244
+
245
+// Use the on-board card socket labeled SD_Extender
246
+#if SD_CONNECTION_IS(CUSTOM_CABLE) 
247
+  #define SCK_PIN                           PC12
248
+  #define MISO_PIN                          PC8
249
+  #define MOSI_PIN                          PD2
250
+  #define SS_PIN                            -1
251
+  #define SD_DETECT_PIN                     PD12  // SD_CD (if -1 no detection)
252
+#else
253
+  #define SDIO_SUPPORT
254
+  #define SDIO_CLOCK                     4500000  // 4.5 MHz
255
+  #define SDIO_READ_RETRIES                   16
256
+  #define ONBOARD_SPI_DEVICE                   1  // SPI1
257
+  #define ONBOARD_SD_CS_PIN                 PC11
258
+  #define SD_DETECT_PIN                     -1    // SD_CD (-1 active refresh)
265 259
 #endif
266 260
 
267 261
 //
@@ -271,6 +265,10 @@
271 265
   #define BEEPER_PIN                        PC5
272 266
 #endif
273 267
 
268
+#if ENABLED(SPEAKER) && BEEPER_PIN == PC5
269
+  #error "FLSun HiSpeed default BEEPER_PIN is not a SPEAKER."
270
+#endif
271
+
274 272
 /**
275 273
  * Note: MKS Robin TFT screens use various TFT controllers
276 274
  * Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240)
@@ -284,26 +282,7 @@
284 282
  * because Marlin uses the reset as a failsafe to revive a glitchy LCD.
285 283
  */
286 284
 
287
-// MKS Robin TFT v2.0 with ILI9341
288
-// Read display identification information (0xD3 on ILI9341)
289
-//#define TOUCH_CALIBRATION_X              12013
290
-//#define TOUCH_CALIBRATION_Y              -8711
291
-//#define TOUCH_OFFSET_X                     -32
292
-//#define TOUCH_OFFSET_Y                     256
293
-
294
-// MKS Robin TFT v1.1 with ILI9328
295
-//#define TOUCH_CALIBRATION_X             -11792
296
-//#define TOUCH_CALIBRATION_Y               8947
297
-//#define TOUCH_OFFSET_X                     342
298
-//#define TOUCH_OFFSET_Y                     -19
299
-
300
-// MKS Robin TFT v1.1 with R61505
301
-//#define TOUCH_CALIBRATION_X              12489
302
-//#define TOUCH_CALIBRATION_Y               9210
303
-//#define TOUCH_OFFSET_X                     -52
304
-//#define TOUCH_OFFSET_Y                     -17
305
-
306
-// QQS-Pro uses MKS Robin TFT v2.0
285
+// QQS-Pro uses MKS Robin TFT v2.0 320x240
307 286
 
308 287
 // Shared FSMC Configs
309 288
 #if HAS_FSMC_TFT
@@ -320,8 +299,13 @@
320 299
   #define FSMC_DMA_DEV                      DMA2
321 300
   #define FSMC_DMA_CHANNEL               DMA_CH5
322 301
 
323
-  #define TOUCH_BUTTONS_HW_SPI
324
-  #define TOUCH_BUTTONS_HW_SPI_DEVICE          2
302
+  #define TFT_BUFFER_SIZE                  14400
303
+  #if ENABLED(TFT_CLASSIC_UI)  
304
+    #define TFT_MARLINBG_COLOR            0x3186  // White
305
+    #define TFT_MARLINUI_COLOR            0xC7B6  // green
306
+    #define TFT_BTARROWS_COLOR            0xDEE6  // Yellow
307
+    #define TFT_BTOKMENU_COLOR            0x145F  // Cyan
308
+  #endif
325 309
 #endif
326 310
 
327 311
 #if NEED_TOUCH_PINS

Loading…
Cancelar
Guardar