Chris Barr 4 лет назад
Родитель
Сommit
c12111e2cc
Аккаунт пользователя с таким Email не найден

+ 15
- 14
Marlin/src/core/boards.h Просмотреть файл

@@ -324,20 +324,21 @@
324 324
 #define BOARD_BEAST                   4200  // STM32F4xxVxT6 Libmaple-based STM32F4 controller
325 325
 #define BOARD_GENERIC_STM32F4         4201  // STM32 STM32GENERIC-based STM32F4 controller
326 326
 #define BOARD_ARMED                   4202  // Arm'ed STM32F4-based controller
327
-#define BOARD_RUMBA32_AUS3D           4203  // RUMBA32 STM32F446VET6 based controller from Aus3D
328
-#define BOARD_RUMBA32_MKS             4204  // RUMBA32 STM32F446VET6 based controller from Makerbase
329
-#define BOARD_BLACK_STM32F407VE       4205  // BLACK_STM32F407VE
330
-#define BOARD_BLACK_STM32F407ZE       4206  // BLACK_STM32F407ZE
331
-#define BOARD_STEVAL_3DP001V1         4207  // STEVAL-3DP001V1 3D PRINTER BOARD
332
-#define BOARD_BTT_SKR_PRO_V1_1        4208  // BigTreeTech SKR Pro v1.1 (STM32F407ZG)
333
-#define BOARD_BTT_BTT002_V1_0         4209  // BigTreeTech BTT002 v1.0 (STM32F407VG)
334
-#define BOARD_BTT_GTR_V1_0            4210  // BigTreeTech GTR v1.0 (STM32F407IGT)
335
-#define BOARD_LERDGE_K                4211  // Lerdge K (STM32F407ZG)
336
-#define BOARD_LERDGE_X                4212  // Lerdge X (STM32F407VE)
337
-#define BOARD_VAKE403D                4213  // VAkE 403D (STM32F446VET6)
338
-#define BOARD_FYSETC_S6               4214  // FYSETC S6 board
339
-#define BOARD_FLYF407ZG               4215  // FLYF407ZG board (STM32F407ZG)
340
-#define BOARD_MKS_ROBIN2              4216  // MKS_ROBIN2 (STM32F407ZE)
327
+#define BOARD_RUMBA32_V1_0            4203  // RUMBA32 STM32F446VET6 based controller from Aus3D
328
+#define BOARD_RUMBA32_V1_1            4204  // RUMBA32 STM32F446VET6 based controller from Aus3D
329
+#define BOARD_RUMBA32_MKS             4205  // RUMBA32 STM32F446VET6 based controller from Makerbase
330
+#define BOARD_BLACK_STM32F407VE       4206  // BLACK_STM32F407VE
331
+#define BOARD_BLACK_STM32F407ZE       4207  // BLACK_STM32F407ZE
332
+#define BOARD_STEVAL_3DP001V1         4208  // STEVAL-3DP001V1 3D PRINTER BOARD
333
+#define BOARD_BTT_SKR_PRO_V1_1        4209  // BigTreeTech SKR Pro v1.1 (STM32F407ZG)
334
+#define BOARD_BTT_BTT002_V1_0         4210  // BigTreeTech BTT002 v1.0 (STM32F407VG)
335
+#define BOARD_BTT_GTR_V1_0            4211 // BigTreeTech GTR v1.0 (STM32F407IGT)
336
+#define BOARD_LERDGE_K                4212  // Lerdge K (STM32F407ZG)
337
+#define BOARD_LERDGE_X                4213  // Lerdge X (STM32F407VE)
338
+#define BOARD_VAKE403D                4214  // VAkE 403D (STM32F446VET6)
339
+#define BOARD_FYSETC_S6               4215  // FYSETC S6 board
340
+#define BOARD_FLYF407ZG               4216  // FLYF407ZG board (STM32F407ZG)
341
+#define BOARD_MKS_ROBIN2              4217  // MKS_ROBIN2 (STM32F407ZE)
341 342
 
342 343
 //
343 344
 // ARM Cortex M7

+ 8
- 2
Marlin/src/pins/pins.h Просмотреть файл

@@ -562,7 +562,9 @@
562 562
   #include "stm32f4/pins_GENERIC_STM32F4.h"     // STM32F4                                env:STM32F4
563 563
 #elif MB(ARMED)
564 564
   #include "stm32f4/pins_ARMED.h"               // STM32F4                                env:ARMED
565
-#elif MB(RUMBA32_AUS3D)
565
+#elif MB(RUMBA32_V1_0)
566
+  #include "stm32f4/pins_RUMBA32_AUS3D.h"       // STM32F4                                env:rumba32_f446ve
567
+#elif MB(RUMBA32_V1_1)
566 568
   #include "stm32f4/pins_RUMBA32_AUS3D.h"       // STM32F4                                env:rumba32_f446ve
567 569
 #elif MB(RUMBA32_MKS)
568 570
   #include "stm32f4/pins_RUMBA32_MKS.h"         // STM32F4                                env:rumba32_mks
@@ -651,6 +653,7 @@
651 653
   #define BOARD_BIGTREE_SKR_MINI_E3     -1016
652 654
   #define BOARD_BIGTREE_SKR_E3_DIP      -1017
653 655
   #define BOARD_RUMBA32                 -1018
656
+  #define BOARD_RUMBA32_AUS3D           -1019
654 657
 
655 658
   #if MB(MKS_13)
656 659
     #error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration."
@@ -691,7 +694,9 @@
691 694
   #elif MB(STEVAL)
692 695
     #error "BOARD_STEVAL has been renamed BOARD_STEVAL_3DP001V1. Please update your configuration."
693 696
   #elif MB(RUMBA32)
694
-    #error "BOARD_RUMBA32 is now BOARD_RUMBA32_MKS or BOARD_RUMBA32_AUS3D. Please update your configuration."
697
+    #error "BOARD_RUMBA32 is now BOARD_RUMBA32_MKS or BOARD_RUMBA32_V1_0. Please update your configuration."
698
+  #elif MB(RUMBA32_AUS3D)
699
+    #error "BOARD_RUMBA32_AUS3D is now BOARD_RUMBA32_V1_0. Please update your configuration."
695 700
   #else
696 701
     #error "Unknown MOTHERBOARD value set in Configuration.h"
697 702
   #endif
@@ -715,6 +720,7 @@
715 720
   #undef BOARD_BIGTREE_SKR_MINI_V1_1
716 721
   #undef BOARD_BIGTREE_SKR_E3_DIP
717 722
   #undef BOARD_RUMBA32
723
+  #undef BOARD_RUMBA32_AUS3D
718 724
 
719 725
 #endif
720 726
 

+ 46
- 10
Marlin/src/pins/stm32f4/pins_RUMBA32_AUS3D.h Просмотреть файл

@@ -22,21 +22,57 @@
22 22
 #pragma once
23 23
 
24 24
 /**
25
- * Pin assignments for the MKS RUMBA32
25
+ * Pin assignments for the RUMBA32
26 26
  *
27 27
  * https://aus3d.com.au/rumba32
28 28
  * https://github.com/Aus3D/RUMBA32
29
- *
30
- * The MKS and Aus3D versions have the same pinout but the MKS version
31
- * has some added resistors and LEDs.  The resistors needed for the
32
- * TMC2208/9 UART interface are among the additions.  Also added were
33
- * connectors and resistors dedicated to the TMC2130 sensorless homing
34
- * interface.
35 29
  */
36 30
 
37
-#define BOARD_INFO_NAME "Aus3D RUMBA32"
31
+#define BOARD_INFO_NAME "RUMBA32"
32
+
33
+#if NO_EEPROM_SELECTED
34
+  #if MB(RUMBA32_V1_0) 
35
+    #define FLASH_EEPROM_EMULATION
36
+    #define MARLIN_EEPROM_SIZE 0x1000             // 4KB
37
+  #elif MB(RUMBA32_V1_1)
38
+    #define I2C_EEPROM
39
+    #define MARLIN_EEPROM_SIZE 0x2000             // 8KB (24LC64T-I/OT)
40
+  #endif
41
+#endif
38 42
 
39
-#define RUMBA32_V1_0
40
-//#define I2C_EEPROM
43
+#if ENABLED(FLASH_EEPROM_EMULATION)
44
+  // Decrease delays and flash wear by spreading writes across the
45
+  // 128 kB sector allocated for EEPROM emulation.
46
+  #define FLASH_EEPROM_LEVELING
47
+#endif
41 48
 
42 49
 #include "pins_RUMBA32_common.h"
50
+
51
+#if MB(RUMBA32_V1_1)
52
+
53
+  #define SERVO0_PIN                        PA15
54
+  #undef BTN_PIN
55
+
56
+  #if HAS_TMC_UART
57
+    //
58
+    // TMC2208/TMC2209 stepper drivers - Software Serial is used according to below pins
59
+    //
60
+    #define X_SERIAL_TX_PIN                 PA14
61
+    #define X_SERIAL_RX_PIN                 PC14
62
+
63
+    #define Y_SERIAL_TX_PIN                 PA13
64
+    #define Y_SERIAL_RX_PIN                 PE4
65
+
66
+    #define Z_SERIAL_TX_PIN                 PB10
67
+    #define Z_SERIAL_RX_PIN                 PE0
68
+
69
+    #define E0_SERIAL_TX_PIN                PD11
70
+    #define E0_SERIAL_RX_PIN                PC13
71
+
72
+    #define E1_SERIAL_TX_PIN                PB3
73
+    #define E1_SERIAL_RX_PIN                PD5
74
+
75
+    #define E2_SERIAL_TX_PIN                PB4
76
+    #define E2_SERIAL_RX_PIN                PD1
77
+  #endif
78
+#endif

+ 11
- 28
Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h Просмотреть файл

@@ -35,27 +35,21 @@
35 35
 
36 36
 #define BOARD_INFO_NAME "MKS RUMBA32"
37 37
 
38
-#define RUMBA32_V1_0
38
+#if NO_EEPROM_SELECTED
39
+  #define FLASH_EEPROM_EMULATION
40
+  #define MARLIN_EEPROM_SIZE 0x1000             // 4KB
41
+#endif
42
+
43
+#if ENABLED(FLASH_EEPROM_EMULATION)
44
+  // Decrease delays and flash wear by spreading writes across the
45
+  // 128 kB sector allocated for EEPROM emulation.
46
+  #define FLASH_EEPROM_LEVELING
47
+#endif
48
+
39 49
 #define ENABLE_SPI1
40
-//#define I2C_EEPROM
41 50
 
42 51
 #include "pins_RUMBA32_common.h"
43 52
 
44
-//
45
-// Software SPI pins for TMC2130 stepper drivers
46
-//
47
-#if ENABLED(TMC_USE_SW_SPI)
48
-  #ifndef TMC_SW_MOSI
49
-    #define TMC_SW_MOSI                     PA7
50
-  #endif
51
-  #ifndef TMC_SW_MISO
52
-    #define TMC_SW_MISO                     PA6
53
-  #endif
54
-  #ifndef TMC_SW_SCK
55
-    #define TMC_SW_SCK                      PA5
56
-  #endif
57
-#endif
58
-
59 53
 #if HAS_TMC_UART
60 54
   /**
61 55
    * TMC2208/TMC2209 stepper drivers
@@ -96,14 +90,3 @@
96 90
   #define E2_SERIAL_TX_PIN                  PD12
97 91
   #define E2_SERIAL_RX_PIN                  PD1
98 92
 #endif
99
-
100
-//
101
-// LCD / Controller
102
-//
103
-
104
-// Alter timing for graphical display
105
-#if HAS_GRAPHICAL_LCD
106
-  #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
107
-  #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
108
-  #define BOARD_ST7920_DELAY_3 DELAY_NS(600)
109
-#endif

+ 40
- 4
Marlin/src/pins/stm32f4/pins_RUMBA32_common.h Просмотреть файл

@@ -23,6 +23,7 @@
23 23
 
24 24
 /**
25 25
  * Common pin assignments for all RUMBA32 boards
26
+ *
26 27
  */
27 28
 
28 29
 #ifndef STM32F4
@@ -31,11 +32,21 @@
31 32
   #error "RUMBA32 boards support up to 3 hotends / E-steppers."
32 33
 #endif
33 34
 
34
-#define RUMBA32_V1_0
35 35
 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
36 36
 
37
-//#define I2C_EEPROM
38
-#define MARLIN_EEPROM_SIZE 0x1000                 // 4KB
37
+// Use soft PWM for fans - PWM is not working properly when paired with STM32 Arduino Core v1.7.0
38
+// This can be removed when Core version is updated and PWM behaviour is fixed.
39
+#define FAN_SOFT_PWM
40
+
41
+//
42
+// Configure Timers
43
+// TIM6 is used for TONE
44
+// TIM7 is used for SERVO
45
+// TIMER_SERIAL defaults to TIM7 so we'll override it here
46
+//
47
+#define STEP_TIMER                          10
48
+#define TEMP_TIMER                          14
49
+#define TIMER_SERIAL                        TIM9
39 50
 
40 51
 //
41 52
 // Limit Switches
@@ -80,6 +91,18 @@
80 91
 #define E2_ENABLE_PIN                       PD0
81 92
 #define E2_CS_PIN                           PD1
82 93
 
94
+#if ENABLED(TMC_USE_SW_SPI)
95
+  #ifndef TMC_SW_MOSI
96
+    #define TMC_SW_MOSI                     PA7
97
+  #endif
98
+  #ifndef TMC_SW_MISO
99
+    #define TMC_SW_MISO                     PA6
100
+  #endif
101
+  #ifndef TMC_SW_SCK
102
+    #define TMC_SW_SCK                      PA5
103
+  #endif
104
+#endif
105
+
83 106
 //
84 107
 // Temperature Sensors
85 108
 //
@@ -101,7 +124,7 @@
101 124
 #define FAN1_PIN                            PA8
102 125
 
103 126
 //
104
-// I2C
127
+// SPI
105 128
 //
106 129
 #define SCK_PIN                             PA5
107 130
 #define MISO_PIN                            PA6
@@ -143,4 +166,17 @@
143 166
     #define LCD_PINS_D7                     PE15
144 167
   #endif
145 168
 
169
+  // Alter timing for graphical display
170
+  #if HAS_GRAPHICAL_LCD
171
+    #ifndef BOARD_ST7920_DELAY_1
172
+      #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
173
+    #endif
174
+    #ifndef BOARD_ST7920_DELAY_2
175
+      #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
176
+    #endif
177
+    #ifndef BOARD_ST7920_DELAY_3
178
+      #define BOARD_ST7920_DELAY_3 DELAY_NS(600)
179
+    #endif
180
+  #endif
181
+
146 182
 #endif

+ 12
- 2
buildroot/share/tests/rumba32_f446ve-tests Просмотреть файл

@@ -8,14 +8,24 @@ set -e
8 8
 
9 9
 # Build examples
10 10
 restore_configs
11
-opt_set MOTHERBOARD BOARD_RUMBA32_AUS3D
11
+opt_set MOTHERBOARD BOARD_RUMBA32_V1_0
12 12
 opt_set SERIAL_PORT -1
13 13
 opt_disable PIDTEMP
14 14
 opt_enable PIDTEMPBED
15 15
 opt_set TEMP_SENSOR_BED 1
16 16
 opt_disable THERMAL_PROTECTION_BED
17 17
 opt_set X_DRIVER_TYPE TMC2130
18
-exec_test $1 $2 "rumba32_f446ve with TMC2130, PID Bed, and bed thermal protection disabled"
18
+exec_test $1 $2 "rumba32_f446ve V1.0 with TMC2130, PID Bed, and bed thermal protection disabled"
19
+
20
+# Build examples
21
+restore_configs
22
+opt_set MOTHERBOARD BOARD_RUMBA32_V1_1
23
+opt_set SERIAL_PORT -1
24
+opt_enable PIDTEMPBED EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
25
+opt_set TEMP_SENSOR_BED 1
26
+opt_set X_DRIVER_TYPE TMC2130
27
+opt_set Y_DRIVER_TYPE TMC2208
28
+exec_test $1 $2 "rumba32_f446ve V1.1 with TMC2130, TMC2208, PID Bed, EEPROM settings, and graphic LCD controller"
19 29
 
20 30
 # cleanup
21 31
 restore_configs

Загрузка…
Отмена
Сохранить