Jason Smith
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with
25 additions and
11 deletions
-
Marlin/src/core/drivers.h
-
Marlin/src/inc/Conditionals_post.h
-
Marlin/src/module/stepper/trinamic.cpp
-
buildroot/share/tests/STM32F103RC_btt-tests
-
buildroot/share/tests/STM32F103RE_btt-tests
|
|
@ -131,6 +131,7 @@ |
|
|
|
|
|
|
|
#define AXIS_HAS_RXTX AXIS_HAS_UART |
|
|
|
|
|
|
|
#define AXIS_HAS_HW_SERIAL(A) ( AXIS_HAS_UART(A) && defined(A##_HARDWARE_SERIAL) ) |
|
|
|
#define AXIS_HAS_SW_SERIAL(A) ( AXIS_HAS_UART(A) && !defined(A##_HARDWARE_SERIAL) ) |
|
|
|
|
|
|
|
#define AXIS_HAS_STALLGUARD(A) ( AXIS_DRIVER_TYPE(A,TMC2130) || AXIS_DRIVER_TYPE(A,TMC2160) \ |
|
|
|
|
|
@ -1549,6 +1549,9 @@ |
|
|
|
#define HAS_E_STEPPER_ENABLE 1 |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ANY_AXIS_HAS(HW_SERIAL) |
|
|
|
#define HAS_TMC_HW_SERIAL 1 |
|
|
|
#endif |
|
|
|
#if ANY_AXIS_HAS(SW_SERIAL) |
|
|
|
#define HAS_TMC_SW_SERIAL 1 |
|
|
|
#endif |
|
|
|
|
|
@ -318,6 +318,7 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E }; |
|
|
|
enum TMCAxis : uint8_t { X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7, TOTAL }; |
|
|
|
|
|
|
|
void tmc_serial_begin() { |
|
|
|
#if HAS_TMC_HW_SERIAL |
|
|
|
struct { |
|
|
|
const void *ptr[TMCAxis::TOTAL]; |
|
|
|
bool began(const TMCAxis a, const void * const p) { |
|
|
@ -325,8 +326,11 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E }; |
|
|
|
ptr[a] = p; return false; |
|
|
|
}; |
|
|
|
} sp_helper; |
|
|
|
|
|
|
|
#define HW_SERIAL_BEGIN(A) do{ if (!sp_helper.began(TMCAxis::A, &A##_HARDWARE_SERIAL)) \ |
|
|
|
A##_HARDWARE_SERIAL.begin(TMC_BAUD_RATE); }while(0) |
|
|
|
#endif |
|
|
|
|
|
|
|
#if AXIS_HAS_UART(X) |
|
|
|
#ifdef X_HARDWARE_SERIAL |
|
|
|
HW_SERIAL_BEGIN(X); |
|
|
|
|
|
@ -13,7 +13,11 @@ restore_configs |
|
|
|
opt_set MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V1_0 |
|
|
|
opt_set SERIAL_PORT 1 |
|
|
|
opt_set SERIAL_PORT_2 -1 |
|
|
|
exec_test $1 $2 "BigTreeTech SKR Mini E3 - Basic Configuration" |
|
|
|
opt_set X_DRIVER_TYPE TMC2209 |
|
|
|
opt_set Y_DRIVER_TYPE TMC2209 |
|
|
|
opt_set Z_DRIVER_TYPE TMC2209 |
|
|
|
opt_set E_DRIVER_TYPE TMC2209 |
|
|
|
exec_test $1 $2 "BigTreeTech SKR Mini E3 1.0 - Basic Config with TMC2209 HW Serial" |
|
|
|
|
|
|
|
# clean up |
|
|
|
restore_configs |
|
|
|
|
|
@ -13,7 +13,9 @@ restore_configs |
|
|
|
opt_set MOTHERBOARD BOARD_BTT_SKR_E3_DIP |
|
|
|
opt_set SERIAL_PORT 1 |
|
|
|
opt_set SERIAL_PORT_2 -1 |
|
|
|
exec_test $1 $2 "BigTreeTech SKR E3 DIP v1.0 - Basic Configuration" |
|
|
|
opt_set X_DRIVER_TYPE TMC2209 |
|
|
|
opt_set Y_DRIVER_TYPE TMC2130 |
|
|
|
exec_test $1 $2 "BigTreeTech SKR E3 DIP v1.0 - Basic Config with mixed TMC Drivers" |
|
|
|
|
|
|
|
# clean up |
|
|
|
restore_configs |
|
|
|