소스 검색

UltiMachine Archim 1 support (#12404)

Ryan 5 년 전
부모
커밋
052d102ded

+ 7
- 1
Marlin/Makefile 파일 보기

@@ -404,8 +404,14 @@ else ifeq ($(HARDWARE_MOTHERBOARD),88)
404 404
   HARDWARE_VARIANT ?= Teensy
405 405
   MCU              ?= at90usb1286
406 406
 
407
+# UltiMachine Archim1 (with DRV8825 drivers)
408
+else ifeq ($(HARDWARE_MOTHERBOARD),1591)
409
+  HARDWARE_VARIANT ?= archim
410
+  MCPU              = cortex-m3
411
+  F_CPU             = 84000000L
412
+  IS_MCU            = 0
407 413
 # UltiMachine Archim2 (with TMC2130 drivers)
408
-else ifeq ($(HARDWARE_MOTHERBOARD),1590)
414
+else ifeq ($(HARDWARE_MOTHERBOARD),1592)
409 415
   HARDWARE_VARIANT ?= archim
410 416
   MCPU              = cortex-m3
411 417
   F_CPU             = 84000000L

+ 6
- 1
Marlin/src/HAL/HAL_DUE/usb/conf_usb.h 파일 보기

@@ -49,6 +49,7 @@
49 49
 
50 50
 #undef UNUSED                           /* To avoid a macro clash as macros.h already defines it */
51 51
 #include "../../../core/macros.h"       /* For ENABLED()/DISABLED() */
52
+#include "../../../core/boards.h"       /* For MB() */
52 53
 #include "../../../../Configuration.h"  /* For CUSTOM_MACHINE_NAME definition - We just need the name, no C++ allowed! */
53 54
 #include "compiler.h"
54 55
 
@@ -88,7 +89,11 @@
88 89
 //#define  USB_DEVICE_LOW_SPEED
89 90
 
90 91
 //! To define a Full speed device
91
-//#define  USB_DEVICE_FULL_SPEED
92
+//#define USB_DEVICE_FULL_SPEED
93
+
94
+#if MB(ARCHIM1)
95
+  #define USB_DEVICE_FULL_SPEED
96
+#endif
92 97
 
93 98
 //! To authorize the High speed
94 99
 #ifndef USB_DEVICE_FULL_SPEED

+ 2019
- 0
Marlin/src/config/examples/UltiMachine/Archim1/Configuration.h
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1886
- 0
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 2
- 1
Marlin/src/core/boards.h 파일 보기

@@ -209,7 +209,8 @@
209 209
 #define BOARD_RURAMPS4D_11     1550   // RuRAMPS4Duo v1.1 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed)
210 210
 #define BOARD_RURAMPS4D_13     1551   // RuRAMPS4Duo v1.3 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed)
211 211
 #define BOARD_ULTRATRONICS_PRO 1560   // ReprapWorld Ultratronics Pro V1.0
212
-#define BOARD_ARCHIM2          1590   // UltiMachine Archim2 (with TMC2130 drivers)
212
+#define BOARD_ARCHIM1          1591   // UltiMachine Archim1 (with DRV8825 drivers)
213
+#define BOARD_ARCHIM2          1592   // UltiMachine Archim2 (with TMC2130 drivers)
213 214
 #define BOARD_ALLIGATOR        1602   // Alligator Board R2
214 215
 
215 216
 //

+ 46
- 14
Marlin/src/module/stepper.cpp 파일 보기

@@ -2407,13 +2407,13 @@ void Stepper::report_positions() {
2407 2407
   void Stepper::refresh_motor_power() {
2408 2408
     LOOP_L_N(i, COUNT(motor_current_setting)) {
2409 2409
       switch (i) {
2410
-        #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
2410
+        #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY) || PIN_EXISTS(MOTOR_CURRENT_PWM_X) || PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
2411 2411
           case 0:
2412 2412
         #endif
2413 2413
         #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
2414 2414
           case 1:
2415 2415
         #endif
2416
-        #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
2416
+        #if PIN_EXISTS(MOTOR_CURRENT_PWM_E) || PIN_EXISTS(MOTOR_CURRENT_PWM_E0) || PIN_EXISTS(MOTOR_CURRENT_PWM_E1)
2417 2417
           case 2:
2418 2418
         #endif
2419 2419
             digipot_current(i, motor_current_setting[i]);
@@ -2426,7 +2426,7 @@ void Stepper::report_positions() {
2426 2426
 
2427 2427
 #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM
2428 2428
 
2429
-  void Stepper::digipot_current(const uint8_t driver, const int current) {
2429
+  void Stepper::digipot_current(const uint8_t driver, const int16_t current) {
2430 2430
 
2431 2431
     #if HAS_DIGIPOTSS
2432 2432
 
@@ -2440,15 +2440,33 @@ void Stepper::report_positions() {
2440 2440
 
2441 2441
       #define _WRITE_CURRENT_PWM(P) analogWrite(MOTOR_CURRENT_PWM_## P ##_PIN, 255L * current / (MOTOR_CURRENT_PWM_RANGE))
2442 2442
       switch (driver) {
2443
-        #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
2444
-          case 0: _WRITE_CURRENT_PWM(XY); break;
2445
-        #endif
2446
-        #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
2447
-          case 1: _WRITE_CURRENT_PWM(Z); break;
2448
-        #endif
2449
-        #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
2450
-          case 2: _WRITE_CURRENT_PWM(E); break;
2451
-        #endif
2443
+        case 0:
2444
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
2445
+            _WRITE_CURRENT_PWM(X);
2446
+          #endif
2447
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
2448
+            _WRITE_CURRENT_PWM(Y);
2449
+          #endif
2450
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
2451
+            _WRITE_CURRENT_PWM(XY);
2452
+          #endif
2453
+          break;
2454
+        case 1:
2455
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
2456
+            _WRITE_CURRENT_PWM(Z);
2457
+          #endif
2458
+          break;
2459
+        case 2:
2460
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
2461
+            _WRITE_CURRENT_PWM(E);
2462
+          #endif
2463
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_E0)
2464
+            _WRITE_CURRENT_PWM(E0);
2465
+          #endif
2466
+          #if PIN_EXISTS(MOTOR_CURRENT_PWM_E1)
2467
+            _WRITE_CURRENT_PWM(E1);
2468
+          #endif
2469
+          break;
2452 2470
       }
2453 2471
     #endif
2454 2472
   }
@@ -2469,6 +2487,12 @@ void Stepper::report_positions() {
2469 2487
 
2470 2488
     #elif HAS_MOTOR_CURRENT_PWM
2471 2489
 
2490
+      #if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
2491
+        SET_OUTPUT(MOTOR_CURRENT_PWM_X_PIN);
2492
+      #endif
2493
+      #if PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
2494
+        SET_OUTPUT(MOTOR_CURRENT_PWM_Y_PIN);
2495
+      #endif
2472 2496
       #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
2473 2497
         SET_OUTPUT(MOTOR_CURRENT_PWM_XY_PIN);
2474 2498
       #endif
@@ -2478,12 +2502,19 @@ void Stepper::report_positions() {
2478 2502
       #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
2479 2503
         SET_OUTPUT(MOTOR_CURRENT_PWM_E_PIN);
2480 2504
       #endif
2505
+      #if PIN_EXISTS(MOTOR_CURRENT_PWM_E0)
2506
+        SET_OUTPUT(MOTOR_CURRENT_PWM_E0_PIN);
2507
+      #endif
2508
+      #if PIN_EXISTS(MOTOR_CURRENT_PWM_E1)
2509
+        SET_OUTPUT(MOTOR_CURRENT_PWM_E1_PIN);
2510
+      #endif
2481 2511
 
2482 2512
       refresh_motor_power();
2483 2513
 
2484 2514
       // Set Timer5 to 31khz so the PWM of the motor power is as constant as possible. (removes a buzzing noise)
2485
-      SET_CS5(PRESCALER_1);
2486
-
2515
+      #ifdef __AVR__
2516
+        SET_CS5(PRESCALER_1);
2517
+      #endif
2487 2518
     #endif
2488 2519
   }
2489 2520
 
@@ -2587,6 +2618,7 @@ void Stepper::report_positions() {
2587 2618
         SET_OUTPUT(E5_MS3_PIN);
2588 2619
       #endif
2589 2620
     #endif
2621
+
2590 2622
     static const uint8_t microstep_modes[] = MICROSTEP_MODES;
2591 2623
     for (uint16_t i = 0; i < COUNT(microstep_modes); i++)
2592 2624
       microstep_mode(i, microstep_modes[i]);

+ 2
- 0
Marlin/src/pins/pins.h 파일 보기

@@ -365,6 +365,8 @@
365 365
   #include "pins_RAMPS4DUE.h"         // SAM3X8E                                    env:DUE env:DUE_USB env:DUE_debug
366 366
 #elif MB(ULTRATRONICS_PRO)
367 367
   #include "pins_ULTRATRONICS_PRO.h"  // SAM3X8E                                    env:DUE env:DUE_debug
368
+#elif MB(ARCHIM1)
369
+  #include "pins_ARCHIM1.h"           // SAM3X8E                                    env:DUE env:DUE_debug
368 370
 #elif MB(ARCHIM2)
369 371
   #include "pins_ARCHIM2.h"           // SAM3X8E                                    env:DUE env:DUE_debug
370 372
 #elif MB(ALLIGATOR)

+ 195
- 0
Marlin/src/pins/pins_ARCHIM1.h 파일 보기

@@ -0,0 +1,195 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * ARCHIM1 pin assignment
25
+ *
26
+ * The Archim 1.0 board requires Arduino Archim addons installed.
27
+ *
28
+ * - Add the following URL to Arduino IDE's Additional Board Manager URLs:
29
+ *   https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
30
+ *
31
+ * - In the Arduino IDE Board Manager search for Archim and install the package.
32
+ *
33
+ * - Change your target board to "Archim".
34
+ *
35
+ * Further information on the UltiMachine website...
36
+ *   https://github.com/ultimachine/Archim/wiki
37
+ */
38
+
39
+#ifndef __SAM3X8E__
40
+  #error "Oops! Select 'Archim' in 'Tools > Board.'"
41
+#endif
42
+
43
+#define BOARD_NAME "Archim 1.0"
44
+
45
+//
46
+// Items marked * have been altered from Archim v1.0
47
+//
48
+
49
+//
50
+// Servos
51
+//
52
+#define SERVO0_PIN         20   // D20 PB12 (Header J20 20)
53
+#define SERVO1_PIN         21   // D21 PB13 (Header J20 19)
54
+
55
+
56
+//
57
+// Limit Switches
58
+//
59
+#define X_MIN_PIN          14   // PD4 MIN ES1
60
+#define X_MAX_PIN          32   // PD10 MAX ES1
61
+#define Y_MIN_PIN          29   // PD6 MIN ES2
62
+#define Y_MAX_PIN          15   // PD5 MAX ES2
63
+#define Z_MIN_PIN          31   // PA7 MIN ES3
64
+#define Z_MAX_PIN          30   // PD9 MAX ES3
65
+
66
+//
67
+// Z Probe (when not Z_MIN_PIN)
68
+//
69
+#ifndef Z_MIN_PROBE_PIN
70
+  #define Z_MIN_PROBE_PIN  32
71
+#endif
72
+
73
+#ifndef FIL_RUNOUT_PIN
74
+  #define FIL_RUNOUT_PIN   66   // D66 PB15 (Header J20 15)
75
+#endif
76
+#ifndef FIL_RUNOUT2_PIN
77
+  #define FIL_RUNOUT2_PIN  67   // D67 PB16 (Header J20 16)
78
+#endif
79
+
80
+
81
+//
82
+// Steppers
83
+//
84
+#define X_STEP_PIN         40   // PC8 STEP1 *
85
+#define X_DIR_PIN          59   // PA4 DIR1 *
86
+#define X_ENABLE_PIN       41   // PC9 EN1
87
+
88
+#define Y_STEP_PIN         49   // PC14 STEP2 *
89
+#define Y_DIR_PIN          47   // PC16 DIR2 *
90
+#define Y_ENABLE_PIN       48   // PC15 EN2 *
91
+
92
+#define Z_STEP_PIN         36   // PC4 STEP Z *
93
+#define Z_DIR_PIN         107   // PB10 DIR Z *
94
+#define Z_ENABLE_PIN       96   // PC10 EN Z -AddOns *
95
+
96
+#define E0_STEP_PIN        78   // PB23 STEP3 *
97
+#define E0_DIR_PIN         22   // PB26 DIR3 *
98
+#define E0_ENABLE_PIN      97   // PB24 EN3 -Addons *
99
+
100
+#define E1_STEP_PIN        26   // PD1 STEP4 *
101
+#define E1_DIR_PIN         27   // PD2 DIR4 *
102
+#define E1_ENABLE_PIN      28   // PD3 EN4 *
103
+
104
+// Microstepping mode pins *
105
+#define X_MS1_PIN          39   // PC7 MOD0E1 - As listed in schematic
106
+#define X_MS2_PIN          38   // PC6 MOD1E1
107
+#define X_MS3_PIN          37   // PC5 MOD2E1
108
+
109
+#define Y_MS1_PIN          50   // PC13 MODE0E2
110
+#define Y_MS2_PIN          51   // PC12 MODE1E2
111
+#define Y_MS3_PIN          92   // PC11 MODE2E2 - AddOns
112
+
113
+#define Z_MS1_PIN          44   // PC19 MOD0E Z
114
+#define Z_MS2_PIN          45   // PC18 MOD1E Z
115
+#define Z_MS3_PIN          46   // PC17 MOD2E Z
116
+
117
+#define E0_MS1_PIN        105   // PB22 MOD0E3 - AddOns
118
+#define E0_MS2_PIN        106   // PC27 MOD1E3 - AddOns
119
+#define E0_MS3_PIN        104   // PC20 MOD2E3 - AddOns
120
+
121
+#define E1_MS1_PIN         25   // PD0 MOD0E4
122
+#define E1_MS2_PIN         18   // PA11 MOD1E4
123
+#define E1_MS3_PIN         19   // PA10 MOD2E4
124
+
125
+// Motor current PWM pins *
126
+#define MOTOR_CURRENT_PWM_X_PIN   58   // PA6   X-REF TIOB2
127
+#define MOTOR_CURRENT_PWM_Y_PIN   12   // PD8   Y-REF TIOB8
128
+#define MOTOR_CURRENT_PWM_Z_PIN   10   // PC29  Z-REF TIOB7
129
+#define MOTOR_CURRENT_PWM_E0_PIN   3   // PC28 E1-REF TIOA7
130
+#define MOTOR_CURRENT_PWM_E1_PIN  11   // PD7  E2-REF TIOA8
131
+
132
+#define MOTOR_CURRENT_PWM_RANGE 2750   // (3.3 Volts * 100000 Ohms) / (100000 Ohms + 20000 Ohms) = 2.75 Volts (max vref)
133
+#define DEFAULT_PWM_MOTOR_CURRENT  { 1000, 1000, 1000 } //, 1000, 1000}   // X Y Z E0 E1, 1000 = 1000mAh
134
+
135
+//
136
+// Temperature Sensors
137
+//
138
+#define TEMP_0_PIN         10   // D10 PB19 THERM AN1 *
139
+#define TEMP_1_PIN          9   // D9 PB18 THERM AN2 *
140
+#define TEMP_2_PIN          8   // D8 PB17 THERM AN4 *
141
+#define TEMP_BED_PIN       11   // D11 PB20 THERM AN3 *
142
+
143
+//
144
+// Heaters / Fans
145
+//
146
+#define HEATER_0_PIN        6   // D6 PC24 FET_PWM3
147
+#define HEATER_1_PIN        7   // D7 PC23 FET_PWM4
148
+#define HEATER_2_PIN        8   // D8 PC22 FET_PWM5
149
+#define HEATER_BED_PIN      9   // D9 PC21 BED_PWM
150
+
151
+#ifndef FAN_PIN
152
+  #define FAN_PIN           4   // D4 PC26 FET_PWM1
153
+#endif
154
+#define FAN1_PIN            5   // D5 PC25 FET_PWM2
155
+
156
+//
157
+// Misc. Functions
158
+//
159
+
160
+// Internal MicroSD card reader on the PCB
161
+#define INT_SCK_PIN        42   // D42 PA19/MCCK
162
+#define INT_MISO_PIN       43   // D43 PA20/MCCDA
163
+#define INT_MOSI_PIN       73   // D73 PA21/MCDA0
164
+#define INT_SDSS           55   // D55 PA24/MCDA3
165
+
166
+// External SD card reader on SC2
167
+#define SCK_PIN            76   // D76 PA27
168
+#define MISO_PIN           74   // D74 PA25
169
+#define MOSI_PIN           75   // D75 PA26
170
+#define SDSS               87   // D87 PA29
171
+
172
+// 2MB SPI Flash
173
+#define SPI_FLASH_SS       52   // D52 PB21
174
+
175
+//
176
+// LCD / Controller
177
+//
178
+#if ENABLED(ULTRA_LCD)
179
+  #define BEEPER_PIN       23   // D24 PA15_CTS1
180
+  #define LCD_PINS_RS      17   // D17 PA12_RXD1
181
+  #define LCD_PINS_ENABLE  24   // D23 PA14_RTS1
182
+  #define LCD_PINS_D4      69   // D69 PA0_CANTX0
183
+  #define LCD_PINS_D5      54   // D54 PA16_SCK1
184
+  #define LCD_PINS_D6      68   // D68 PA1_CANRX0
185
+  #define LCD_PINS_D7      34   // D34 PC2_PWML0
186
+
187
+  #define SD_DETECT_PIN     2   // D2  PB25_TIOA0
188
+
189
+  #if ENABLED(NEWPANEL)
190
+    // Buttons on AUX-2
191
+    #define BTN_EN1        60   // D60 PA3_TIOB1
192
+    #define BTN_EN2        13   // D13 PB27_TIOB0
193
+    #define BTN_ENC        16   // D16 PA13_TXD1
194
+  #endif // NEWPANEL
195
+#endif // ULTRA_LCD

+ 63
- 54
Marlin/src/pins/pins_ARCHIM2.h 파일 보기

@@ -21,53 +21,53 @@
21 21
  */
22 22
 
23 23
 /**
24
- * ARCHIM2 pin assignment (pins_ARCHIM2.h)
24
+ * ARCHIM2 pin assignment
25 25
  *
26
- * The Archim2 board requires Arduino Archim addons installed.
27
- * Add the following URL to Arduino IDE's Additional Board Manager URLs:
28
- * https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
29
- * In the Arduino IDE Board Manager search for Archim and install the package.
30
- * Change your target board to "Archim".
26
+ * The Archim 2.0 board requires Arduino Archim addons installed.
31 27
  *
32
- * Further information is provided by UltiMachine
33
- * https://github.com/ultimachine/Archim/wiki/Archim-v2.0
34
- * https://github.com/ultimachine/Archim/wiki
28
+ * - Add the following URL to Arduino IDE's Additional Board Manager URLs:
29
+ *   https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
35 30
  *
31
+ * - In the Arduino IDE Board Manager search for Archim and install the package.
32
+ *
33
+ * - Change your target board to "Archim".
34
+ *
35
+ * Further information on the UltiMachine website...
36
+ *   https://github.com/ultimachine/Archim/wiki
36 37
  */
37 38
 
38 39
 #ifndef __SAM3X8E__
39 40
   #error "Oops! Select 'Archim' in 'Tools > Board.'"
40 41
 #endif
41 42
 
43
+#define BOARD_NAME "Archim 2.0"
44
+
42 45
 //
43 46
 // Items marked * have been altered from Archim v1.0
44 47
 //
45 48
 
46
-// TMC2130 Diag Pins (currently just for reference)
47
-#define X_DIAG_PIN         59   // PA4 X_DIAG
48
-#define Y_DIAG_PIN         48   // PC15 Y_DIAG
49
-#define Z_DIAG_PIN         36   // PC4 Z_DIAG
50
-#define E0_DIAG_PIN        78   // PB23 E1_DIAG
51
-#define E1_DIAG_PIN        25   // PD0 E2_DIAG
52
-
53 49
 //
54 50
 // Servos
55 51
 //
56
-#define SERVO0_PIN          20   // D20 PB12 (Header J20 20)
57
-#define SERVO1_PIN          21   // D21 PB13 (Header J20 19)
52
+#define SERVO0_PIN         20   // D20 PB12 (Header J20 20)
53
+#define SERVO1_PIN         21   // D21 PB13 (Header J20 19)
58 54
 
59 55
 //
60 56
 // Limit Switches
61 57
 //
62
-// Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
63
-// Otherwise use a physical endstop based configuration.
64 58
 
65
-#if DISABLED(SENSORLESS_HOMING)
66
- #define X_MIN_PIN          14   // PD4 MIN ES1
67
- #define X_MAX_PIN          32   // PD10 MAX ES1
68
- #define Y_MIN_PIN          29   // PD6 MIN ES2
69
- #define Y_MAX_PIN          15   // PD5 MAX ES2
70
-#else
59
+#if ENABLED(SENSORLESS_HOMING)
60
+
61
+  // Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
62
+  // Otherwise use a physical endstop based configuration.
63
+
64
+  // TMC2130 Diag Pins
65
+  #define X_DIAG_PIN       59   // PA4
66
+  #define Y_DIAG_PIN       48   // PC15
67
+  #define Z_DIAG_PIN       36   // PC4
68
+  #define E0_DIAG_PIN      78   // PB23
69
+  #define E1_DIAG_PIN      25   // PD0
70
+
71 71
   #if X_HOME_DIR == -1
72 72
     #define X_MIN_PIN      X_DIAG_PIN
73 73
     #define X_MAX_PIN      32
@@ -83,10 +83,18 @@
83 83
     #define Y_MIN_PIN      29
84 84
     #define Y_MAX_PIN      Y_DIAG_PIN
85 85
   #endif
86
+
87
+#else
88
+
89
+  #define X_MIN_PIN        14   // PD4 MIN ES1
90
+  #define X_MAX_PIN        32   // PD10 MAX ES1
91
+  #define Y_MIN_PIN        29   // PD6 MIN ES2
92
+  #define Y_MAX_PIN        15   // PD5 MAX ES2
93
+
86 94
 #endif
87 95
 
88
- #define Z_MIN_PIN          31   // PA7 MIN ES3
89
- #define Z_MAX_PIN          30   // PD9 MAX ES3
96
+#define Z_MIN_PIN          31   // PA7 MIN ES3
97
+#define Z_MAX_PIN          30   // PD9 MAX ES3
90 98
 
91 99
 //
92 100
 // Z Probe (when not Z_MIN_PIN)
@@ -95,6 +103,13 @@
95 103
   #define Z_MIN_PROBE_PIN  32
96 104
 #endif
97 105
 
106
+#ifndef FIL_RUNOUT_PIN
107
+  #define FIL_RUNOUT_PIN   66   // D66 PB15 (Header J20 15)
108
+#endif
109
+#ifndef FIL_RUNOUT2_PIN
110
+  #define FIL_RUNOUT2_PIN  67   // D67 PB16 (Header J20 16)
111
+#endif
112
+
98 113
 //
99 114
 // Steppers
100 115
 //
@@ -154,45 +169,39 @@
154 169
 //
155 170
 // Heaters / Fans
156 171
 //
157
-#ifndef FAN_PIN
158
-  #define FAN_PIN           4   // D4 PC26 FET_PWM1
159
-#endif
160
-#define FAN1_PIN            5   // D5 PC25 FET_PWM2
161
-
162 172
 #define HEATER_0_PIN        6   // D6 PC24 FET_PWM3
163 173
 #define HEATER_1_PIN        7   // D7 PC23 FET_PWM4
164 174
 #define HEATER_2_PIN        8   // D8 PC22 FET_PWM5
165 175
 #define HEATER_BED_PIN      9   // D9 PC21 BED_PWM
166 176
 
177
+#ifndef FAN_PIN
178
+  #define FAN_PIN           4   // D4 PC26 FET_PWM1
179
+#endif
180
+#define FAN1_PIN            5   // D5 PC25 FET_PWM2
181
+
167 182
 //
168 183
 // Misc. Functions
169 184
 //
170 185
 
171 186
 // Internal MicroSD card reader on the PCB
172
-#define INT_SCK_PIN         42   // D42 PA19/MCCK
173
-#define INT_MISO_PIN        43   // D43 PA20/MCCDA
174
-#define INT_MOSI_PIN        73   // D73 PA21/MCDA0
175
-#define INT_SDSS            55   // D55 PA24/MCDA3
176
-
177
-// The external SD card reader on SC2, as well as 2 Mbyte SPI Flash
178
-#define SCK_PIN             76   // D76 PA27
179
-#define MISO_PIN            74   // D74 PA25
180
-#define MOSI_PIN            75   // D75 PA26
181
-#define SDSS                87   // D87 PA29
182
-#define SPI_FLASH_SS        52   // D52 PB21
183
-
184
-// Filament runout sensor pins (or GPIO)
185
-#ifndef FIL_RUNOUT_PIN
186
-  #define FIL_RUNOUT_PIN    66   // D66 PB15 (Header J20 15)
187
-#endif
188
-#ifndef FIL_RUNOUT2_PIN
189
-  #define FIL_RUNOUT2_PIN   67   // D67 PB16 (Header J20 16)
190
-#endif
187
+#define INT_SCK_PIN        42   // D42 PA19/MCCK
188
+#define INT_MISO_PIN       43   // D43 PA20/MCCDA
189
+#define INT_MOSI_PIN       73   // D73 PA21/MCDA0
190
+#define INT_SDSS           55   // D55 PA24/MCDA3
191
+
192
+// External SD card reader on SC2
193
+#define SCK_PIN            76   // D76 PA27
194
+#define MISO_PIN           74   // D74 PA25
195
+#define MOSI_PIN           75   // D75 PA26
196
+#define SDSS               87   // D87 PA29
197
+
198
+// 2MB SPI Flash
199
+#define SPI_FLASH_SS       52   // D52 PB21
191 200
 
192 201
 //
193 202
 // LCD / Controller
194 203
 //
195
-#if ENABLED(ULTRA_LCD) || ENABLED(EXTENSIBLE_UI)
204
+#if ENABLED(ULTRA_LCD)
196 205
   #define BEEPER_PIN       23   // D24 PA15_CTS1
197 206
   #define LCD_PINS_RS      17   // D17 PA12_RXD1
198 207
   #define LCD_PINS_ENABLE  24   // D23 PA14_RTS1
@@ -209,4 +218,4 @@
209 218
     #define BTN_EN2        13   // D13 PB27_TIOB0
210 219
     #define BTN_ENC        16   // D16 PA13_TXD1 // the click
211 220
   #endif // NEWPANEL
212
-#endif // ULTRA_LCD || EXTENSIBLE_UI
221
+#endif // ULTRA_LCD

Loading…
취소
저장