|
@@ -318,15 +318,19 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E };
|
318
|
318
|
enum TMCAxis : uint8_t { X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7, TOTAL };
|
319
|
319
|
|
320
|
320
|
void tmc_serial_begin() {
|
321
|
|
- struct {
|
322
|
|
- const void *ptr[TMCAxis::TOTAL];
|
323
|
|
- bool began(const TMCAxis a, const void * const p) {
|
324
|
|
- LOOP_L_N(i, a) if (p == ptr[i]) return true;
|
325
|
|
- ptr[a] = p; return false;
|
326
|
|
- };
|
327
|
|
- } sp_helper;
|
328
|
|
- #define HW_SERIAL_BEGIN(A) do{ if (!sp_helper.began(TMCAxis::A, &A##_HARDWARE_SERIAL)) \
|
329
|
|
- A##_HARDWARE_SERIAL.begin(TMC_BAUD_RATE); }while(0)
|
|
321
|
+ #if HAS_TMC_HW_SERIAL
|
|
322
|
+ struct {
|
|
323
|
+ const void *ptr[TMCAxis::TOTAL];
|
|
324
|
+ bool began(const TMCAxis a, const void * const p) {
|
|
325
|
+ LOOP_L_N(i, a) if (p == ptr[i]) return true;
|
|
326
|
+ ptr[a] = p; return false;
|
|
327
|
+ };
|
|
328
|
+ } sp_helper;
|
|
329
|
+
|
|
330
|
+ #define HW_SERIAL_BEGIN(A) do{ if (!sp_helper.began(TMCAxis::A, &A##_HARDWARE_SERIAL)) \
|
|
331
|
+ A##_HARDWARE_SERIAL.begin(TMC_BAUD_RATE); }while(0)
|
|
332
|
+ #endif
|
|
333
|
+
|
330
|
334
|
#if AXIS_HAS_UART(X)
|
331
|
335
|
#ifdef X_HARDWARE_SERIAL
|
332
|
336
|
HW_SERIAL_BEGIN(X);
|