|
|
@ -65,20 +65,45 @@ |
|
|
|
|
|
|
|
#define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T) |
|
|
|
|
|
|
|
#define HAS_DRIVER(T) (AXIS_DRIVER_TYPE_X(T) || AXIS_DRIVER_TYPE_X2(T) || \ |
|
|
|
AXIS_DRIVER_TYPE_Y(T) || AXIS_DRIVER_TYPE_Y2(T) || \ |
|
|
|
AXIS_DRIVER_TYPE_Z(T) || AXIS_DRIVER_TYPE_Z2(T) || AXIS_DRIVER_TYPE_Z3(T) || \ |
|
|
|
AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) || \ |
|
|
|
AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) || \ |
|
|
|
AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) ) |
|
|
|
#define HAS_DRIVER(T) ( AXIS_DRIVER_TYPE_X(T) || AXIS_DRIVER_TYPE_X2(T) \ |
|
|
|
|| AXIS_DRIVER_TYPE_Y(T) || AXIS_DRIVER_TYPE_Y2(T) \ |
|
|
|
|| AXIS_DRIVER_TYPE_Z(T) || AXIS_DRIVER_TYPE_Z2(T) || AXIS_DRIVER_TYPE_Z3(T) \ |
|
|
|
|| AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) \ |
|
|
|
|| AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) \ |
|
|
|
|| AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) ) |
|
|
|
|
|
|
|
// Test for supported TMC drivers that require advanced configuration
|
|
|
|
// Does not match standalone configurations
|
|
|
|
#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2160) || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC5130) || HAS_DRIVER(TMC5160) ) |
|
|
|
#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) \ |
|
|
|
|| HAS_DRIVER(TMC2160) \ |
|
|
|
|| HAS_DRIVER(TMC2208) \ |
|
|
|
|| HAS_DRIVER(TMC2660) \ |
|
|
|
|| HAS_DRIVER(TMC5130) \ |
|
|
|
|| HAS_DRIVER(TMC5160) ) |
|
|
|
|
|
|
|
#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE_##A(TMC2130) || \ |
|
|
|
AXIS_DRIVER_TYPE_##A(TMC2160) || \ |
|
|
|
AXIS_DRIVER_TYPE_##A(TMC2208) || \ |
|
|
|
AXIS_DRIVER_TYPE_##A(TMC2660) || \ |
|
|
|
AXIS_DRIVER_TYPE_##A(TMC5130) || \ |
|
|
|
AXIS_DRIVER_TYPE_##A(TMC5160)) |
|
|
|
#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2160) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2208) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2660) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5160) ) |
|
|
|
|
|
|
|
// Test for a driver that uses SPI - this allows checking whether a _CS_ pin
|
|
|
|
// is considered sensitive
|
|
|
|
#define AXIS_HAS_SPI(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2160) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2660) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5160) ) |
|
|
|
|
|
|
|
#define AXIS_HAS_STALLGUARD(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2160) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2660) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5160) ) |
|
|
|
|
|
|
|
#define AXIS_HAS_STEALTHCHOP(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2160) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC2208) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5130) \ |
|
|
|
|| AXIS_DRIVER_TYPE(A,TMC5160) ) |
|
|
|