Refactor TMC-related macros and sanity checks (#16384)

This commit is contained in:
Jason Smith
2020-01-01 19:51:15 -08:00
committed by Scott Lahteine
parent ac32ed74b4
commit 4e1f2f89f6
12 changed files with 58 additions and 57 deletions

View File

@@ -2018,34 +2018,6 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
#endif
#undef INVALID_TMC_ADDRESS
/**
* TMC2208/2209 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI)
*/
#if HAS_TMC220x && !defined(TARGET_LPC1768) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !defined(TARGET_STM32F1) && !defined(TARGET_STM32F4) && !( \
defined(X_HARDWARE_SERIAL ) || defined(X2_HARDWARE_SERIAL) \
|| defined(Y_HARDWARE_SERIAL ) || defined(Y2_HARDWARE_SERIAL) \
|| defined(Z_HARDWARE_SERIAL ) || defined(Z2_HARDWARE_SERIAL) \
|| defined(Z3_HARDWARE_SERIAL) || defined(E0_HARDWARE_SERIAL) \
|| defined(E1_HARDWARE_SERIAL) || defined(E2_HARDWARE_SERIAL) \
|| defined(E3_HARDWARE_SERIAL) || defined(E4_HARDWARE_SERIAL) \
|| defined(E5_HARDWARE_SERIAL) )
#error "Select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE."
#endif
/**
* TMC2208/2209 software UART is only supported on AVR, LPC, STM32F1 and STM32F4
*/
#if HAS_TMC220x && !defined(__AVR__) && !defined(TARGET_LPC1768) && !defined(TARGET_STM32F1) && !defined(TARGET_STM32F4) && !( \
defined(X_HARDWARE_SERIAL ) || defined(X2_HARDWARE_SERIAL) \
|| defined(Y_HARDWARE_SERIAL ) || defined(Y2_HARDWARE_SERIAL) \
|| defined(Z_HARDWARE_SERIAL ) || defined(Z2_HARDWARE_SERIAL) \
|| defined(Z3_HARDWARE_SERIAL) || defined(E0_HARDWARE_SERIAL) \
|| defined(E1_HARDWARE_SERIAL) || defined(E2_HARDWARE_SERIAL) \
|| defined(E3_HARDWARE_SERIAL) || defined(E4_HARDWARE_SERIAL) \
|| defined(E5_HARDWARE_SERIAL) )
#error "TMC2208 Software Serial is supported only on AVR, LPC1768, STM32F1 and STM32F4 platforms."
#endif
#if ENABLED(DELTA) && (ENABLED(STEALTHCHOP_XY) != ENABLED(STEALTHCHOP_Z))
#error "STEALTHCHOP_XY and STEALTHCHOP_Z must be the same on DELTA."
#endif