Browse Source

Fix AXIS_HAS_SW_SERIAL

Jason Smith 4 years ago
parent
commit
ebd2bcc177
3 changed files with 69 additions and 1 deletions
  1. 1
    1
      Marlin/src/core/drivers.h
  2. 53
    0
      Marlin/src/inc/Conditionals_post.h
  3. 15
    0
      buildroot/share/tests/esp32-tests

+ 1
- 1
Marlin/src/core/drivers.h View File

@@ -131,7 +131,7 @@
131 131
 #define AXIS_HAS_UART(A) (    AXIS_DRIVER_TYPE(A,TMC2208) \
132 132
                            || AXIS_DRIVER_TYPE(A,TMC2209) )
133 133
 
134
-#define AXIS_HAS_SW_SERIAL(A) ((AXIS_HAS_UART(A) && !defined(A##_HARDWARE_SERIAL)))
134
+#define AXIS_HAS_SW_SERIAL(A) ((AXIS_HAS_UART(A) && !HAS_##A##_HARDWARE_SERIAL))
135 135
 
136 136
 #define AXIS_HAS_STALLGUARD(A)   (    AXIS_DRIVER_TYPE(A,TMC2130) \
137 137
                                    || AXIS_DRIVER_TYPE(A,TMC2160) \

+ 53
- 0
Marlin/src/inc/Conditionals_post.h View File

@@ -1444,6 +1444,59 @@
1444 1444
 #define HAS_Z4_MAX (PIN_EXISTS(Z4_MAX))
1445 1445
 #define HAS_Z_MIN_PROBE_PIN (HAS_CUSTOM_PROBE_PIN && PIN_EXISTS(Z_MIN_PROBE))
1446 1446
 
1447
+// Cannot use a macro with a defined() statement inside REPEAT macros.
1448
+// [AXIS]_HARDWARE_SERIAL definitions are typically strings which cannot be
1449
+// tested directly, as they will evaluate to 0.
1450
+#ifdef X_HARDWARE_SERIAL
1451
+  #define HAS_X_HARDWARE_SERIAL 1
1452
+#endif
1453
+#ifdef X2_HARDWARE_SERIAL
1454
+  #define HAS_X2_HARDWARE_SERIAL 1
1455
+#endif
1456
+#ifdef Y_HARDWARE_SERIAL
1457
+  #define HAS_Y_HARDWARE_SERIAL 1
1458
+#endif
1459
+#ifdef Y2_HARDWARE_SERIAL
1460
+  #define HAS_Y2_HARDWARE_SERIAL 1
1461
+#endif
1462
+#ifdef Z_HARDWARE_SERIAL
1463
+  #define HAS_Z_HARDWARE_SERIAL 1
1464
+#endif
1465
+#ifdef Z2_HARDWARE_SERIAL
1466
+  #define HAS_Z2_HARDWARE_SERIAL 1
1467
+#endif
1468
+#ifdef Z3_HARDWARE_SERIAL
1469
+  #define HAS_Z3_HARDWARE_SERIAL 1
1470
+#endif
1471
+#ifdef Z4_HARDWARE_SERIAL
1472
+  #define HAS_Z4_HARDWARE_SERIAL 1
1473
+#endif
1474
+#ifdef E0_HARDWARE_SERIAL
1475
+  #define HAS_E0_HARDWARE_SERIAL 1
1476
+#endif
1477
+#ifdef E1_HARDWARE_SERIAL
1478
+  #define HAS_E1_HARDWARE_SERIAL 1
1479
+#endif
1480
+#ifdef E2_HARDWARE_SERIAL
1481
+  #define HAS_E2_HARDWARE_SERIAL 1
1482
+#endif
1483
+#ifdef E3_HARDWARE_SERIAL
1484
+  #define HAS_E3_HARDWARE_SERIAL 1
1485
+#endif
1486
+#ifdef E4_HARDWARE_SERIAL
1487
+  #define HAS_E4_HARDWARE_SERIAL 1
1488
+#endif
1489
+#ifdef E5_HARDWARE_SERIAL
1490
+  #define HAS_E5_HARDWARE_SERIAL 1
1491
+#endif
1492
+#ifdef E6_HARDWARE_SERIAL
1493
+  #define HAS_E6_HARDWARE_SERIAL 1
1494
+#endif
1495
+#ifdef E7_HARDWARE_SERIAL
1496
+  #define HAS_E7_HARDWARE_SERIAL 1
1497
+#endif
1498
+
1499
+
1447 1500
 //
1448 1501
 // ADC Temp Sensors (Thermistor or Thermocouple with amplifier ADC interface)
1449 1502
 //

+ 15
- 0
buildroot/share/tests/esp32-tests View File

@@ -18,5 +18,20 @@ opt_set TX_BUFFER_SIZE 64
18 18
 opt_add WEBSUPPORT
19 19
 exec_test $1 $2 "ESP32 with WIFISUPPORT and WEBSUPPORT"
20 20
 
21
+#
22
+# Build with TMC drivers using hardware serial
23
+#
24
+restore_configs
25
+opt_set MOTHERBOARD BOARD_ESPRESSIF_ESP32
26
+opt_set X_DRIVER_TYPE TMC2209
27
+opt_set Y_DRIVER_TYPE TMC2208
28
+opt_set Z_DRIVER_TYPE TMC2209
29
+opt_set E0_DRIVER_TYPE TMC2209
30
+opt_set X_HARDWARE_SERIAL Serial1
31
+opt_set Y_HARDWARE_SERIAL Serial1
32
+opt_set Z_HARDWARE_SERIAL Serial1
33
+opt_set E0_HARDWARE_SERIAL Serial1
34
+exec_test $1 $2 "ESP32 with TMC Hardware Serial"
35
+
21 36
 # cleanup
22 37
 restore_configs

Loading…
Cancel
Save