Go to the documentation of this file.
30 #if (DRIVER_SPINDLE_ENABLE & SPINDLE_ENA) && !defined(SPINDLE_ENABLE_PIN)
31 #warning "Selected spindle is not supported!"
34 #if (DRIVER_SPINDLE_ENABLE & SPINDLE_DIR) && !defined(SPINDLE_DIRECTION_PIN)
35 #warning "Selected spindle is not fully supported - no direction output!"
38 #if (DRIVER_SPINDLE_ENABLE & SPINDLE_PWM) && !defined(SPINDLE_PWM_PIN)
39 #warning "Selected spindle is not supported!"
42 #if (DRIVER_SPINDLE1_ENABLE & SPINDLE_PWM) && !defined(SPINDLE1_PWM_PIN)
43 #warning "Selected spindle 1 is not supported!"
48 #if MPG_ENABLE == 1 && !defined(MPG_MODE_PIN)
49 #error "MPG_MODE_PIN must be defined!"
52 #if KEYPAD_ENABLE == 1 && !defined(I2C_STROBE_PIN)
53 #error Keypad plugin not supported!
54 #elif I2C_STROBE_ENABLE && !defined(I2C_STROBE_PIN)
55 #error "I2C strobe not supported!"
58 #define DRIVER_PROBES ((PROBE_ENABLE ? 1 : 0) + PROBE2_ENABLE + TOOLSETTER_ENABLE)
60 #ifndef CONTROL_ENABLE
61 #define CONTROL_ENABLE 0
64 #if EEPROM_ENABLE == 0
65 #define FLASH_ENABLE 1
67 #define FLASH_ENABLE 0
75 #if (SDCARD_ENABLE && !SDCARD_SDIO) || TRINAMIC_SPI_ENABLE
82 #if SDCARD_ENABLE && !SDCARD_SDIO && !defined(SD_CS_PIN)
83 #error SD card plugin not supported!
89 #ifdef STEPPERS_ENABLE_PIN
90 #ifndef STEPPERS_ENABLE_PORT
91 #define STEPPERS_ENABLE_PORT ENABLE_PORT
95 #ifndef XY_ENABLE_PORT
96 #define XY_ENABLE_PORT ENABLE_PORT
100 #define X_ENABLE_PORT ENABLE_PORT
102 #ifndef Y_ENABLE_PORT
103 #define Y_ENABLE_PORT ENABLE_PORT
106 #ifndef Z_ENABLE_PORT
107 #define Z_ENABLE_PORT ENABLE_PORT
109 #if defined(M3_ENABLE_PIN) && !defined(M3_ENABLE_PORT)
110 #define M3_ENABLE_PORT ENABLE_PORT
112 #if defined(M4_ENABLE_PIN) && !defined(M4_ENABLE_PORT)
113 #define M4_ENABLE_PORT ENABLE_PORT
115 #if defined(M5_ENABLE_PIN) && !defined(M5_ENABLE_PORT)
116 #define M5_ENABLE_PORT ENABLE_PORT
118 #if defined(M6_ENABLE_PIN) && !defined(M6_ENABLE_PORT)
119 #define M6_ENABLE_PORT ENABLE_PORT
121 #if defined(M7_ENABLE_PIN) && !defined(M7_ENABLE_PORT)
122 #define M7_ENABLE_PORT ENABLE_PORT
129 #define X_STEP_PORT STEP_PORT
132 #define Y_STEP_PORT STEP_PORT
135 #define Z_STEP_PORT STEP_PORT
137 #if defined(M3_STEP_PIN) && !defined(M3_STEP_PORT)
138 #define M3_STEP_PORT STEP_PORT
140 #if defined(M4_STEP_PIN) && !defined(M4_STEP_PORT)
141 #define M4_STEP_PORT STEP_PORT
143 #if defined(M5_STEP_PIN) && !defined(M5_STEP_PORT)
144 #define M5_STEP_PORT STEP_PORT
146 #if defined(M6_STEP_PIN) && !defined(M6_STEP_PORT)
147 #define M6_STEP_PORT STEP_PORT
149 #if defined(M7_STEP_PIN) && !defined(M7_STEP_PORT)
150 #define M7_STEP_PORT STEP_PORT
154 #ifdef DIRECTION_PORT
155 #ifndef X_DIRECTION_PORT
156 #define X_DIRECTION_PORT DIRECTION_PORT
158 #ifndef Y_DIRECTION_PORT
159 #define Y_DIRECTION_PORT DIRECTION_PORT
161 #ifndef Z_DIRECTION_PORT
162 #define Z_DIRECTION_PORT DIRECTION_PORT
164 #if defined(M3_DIRECTION_PIN) && !defined(M3_DIRECTION_PORT)
165 #define M3_DIRECTION_PORT DIRECTION_PORT
167 #if defined(M4_DIRECTION_PIN) && !defined(M4_DIRECTION_PORT)
168 #define M4_DIRECTION_PORT DIRECTION_PORT
170 #if defined(M5_DIRECTION_PIN) && !defined(M5_DIRECTION_PORT)
171 #define M5_DIRECTION_PORT DIRECTION_PORT
173 #if defined(M6_DIRECTION_PIN) && !defined(M6_DIRECTION_PORT)
174 #define M6_DIRECTION_PORT DIRECTION_PORT
176 #if defined(M7_DIRECTION_PIN) && !defined(M7_DIRECTION_PORT)
177 #define M7_DIRECTION_PORT DIRECTION_PORT
182 #ifndef SPINDLE_ENABLE_PORT
183 #define SPINDLE_ENABLE_PORT SPINDLE_PORT
185 #if defined(SPINDLE_PWM_PIN) && !defined(SPINDLE_PWM_PORT)
186 #define SPINDLE_PWM_PORT SPINDLE_PORT
188 #if defined(SPINDLE_DIRECTION_PIN) && !defined(SPINDLE_DIRECTION_PORT)
189 #define SPINDLE_DIRECTION_PORT SPINDLE_PORT
194 #if defined(COOLANT_FLOOD_PIN) && !defined(COOLANT_FLOOD_PORT)
195 #define COOLANT_FLOOD_PORT COOLANT_PORT
197 #if defined(COOLANT_MIST_PIN) && !defined(COOLANT_MIST_PORT)
198 #define COOLANT_MIST_PORT COOLANT_PORT
206 #include "motors/trinamic.h"
208 #ifndef TRINAMIC_MIXED_DRIVERS
209 #define TRINAMIC_MIXED_DRIVERS 1
212 #if TRINAMIC_UART_ENABLE == 1 && !defined(TRINAMIC_STREAM)
213 #define TRINAMIC_STREAM 1
216 #if TRINAMIC_SPI_ENABLE == 1 || TRINAMIC_ENABLE == 2130 || TRINAMIC_ENABLE == 2660 || TRINAMIC_ENABLE == 5160
218 #undef TRINAMIC_SPI_ENABLE
219 #define TRINAMIC_SPI_40BIT (1<<1)
220 #define TRINAMIC_SPI_20BIT (1<<2)
221 #define TRINAMIC_SPI_CS_SINGLE (1<<3)
223 #if TRINAMIC_ENABLE == 2660
225 #define TRINAMIC_SPI_ENABLE (TRINAMIC_SPI_20BIT|TRINAMIC_SPI_CS_SINGLE)
227 #define TRINAMIC_SPI_ENABLE TRINAMIC_SPI_20BIT
231 #define TRINAMIC_SPI_ENABLE (TRINAMIC_SPI_40BIT|TRINAMIC_SPI_CS_SINGLE)
233 #define TRINAMIC_SPI_ENABLE TRINAMIC_SPI_40BIT
241 #define TRINAMIC_I2C 0
243 #if TRINAMIC_ENABLE && TRINAMIC_I2C
244 #define TRINAMIC_MOTOR_ENABLE 1
246 #define TRINAMIC_MOTOR_ENABLE 0
249 #if USB_SERIAL_CDC && defined(SERIAL_PORT)
267 #if MODBUS_ENABLE & MODBUS_RTU_ENABLED
268 #define MODBUS_TEST 1
270 #define MODBUS_TEST 0
273 #if TRINAMIC_ENABLE && TRINAMIC_UART_ENABLE == 1
274 #define TRINAMIC_TEST 1
276 #define TRINAMIC_TEST 0
279 #if KEYPAD_ENABLE == 2 && MPG_ENABLE == 0
280 #define KEYPAD_TEST 1
282 #define KEYPAD_TEST 0
285 #if (MODBUS_TEST + KEYPAD_TEST + (MPG_ENABLE ? 1 : 0) + TRINAMIC_TEST + (BLUETOOTH_ENABLE == 2 ? 1 : 0)) > (SP0 + SP1 + SP2)
286 #error "Too many options that uses a serial port are enabled!"
296 #if MPG_ENABLE && !defined(MPG_STREAM)
302 #if (MODBUS_ENABLE & MODBUS_RTU_ENABLED) && defined(MODBUS_RTU_STREAM) && MODBUS_RTU_STREAM == MPG_STREAM
304 #define MPG_STREAM (MODBUS_RTU_STREAM + 1)
308 #if KEYPAD_ENABLE == 2 && !defined(KEYPAD_STREAM)
310 #define KEYPAD_STREAM MPG_STREAM
312 #define KEYPAD_STREAM 0
314 #define KEYPAD_STREAM 1
316 #if (MODBUS_ENABLE & MODBUS_RTU_ENABLED) && defined(MODBUS_RTU_STREAM) && MODBUS_RTU_STREAM == MPG_STREAM
318 #define KEYPAD_STREAM (MODBUS_RTU_STREAM + 1)
322 #if defined(COPROC_RESET_PIN) && defined(COPROC_BOOT0_PIN)
323 #define COPROC_PASSTHRU 1
325 #define COPROC_PASSTHRU 0
328 #ifndef COPROC_STREAM
330 #define COPROC_STREAM 0
332 #define COPROC_STREAM 1