🔧 AVR/DUE Serial Port pin conflict checks (#24148)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
ellensp 2022-05-13 16:07:27 +12:00 committed by GitHub
parent 1e749e4f48
commit ecc138fc9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 80 additions and 5 deletions

View file

@ -25,6 +25,30 @@
* Test AVR-specific configuration values for errors at compile-time.
*/
/**
* Check for common serial pin conflicts
*/
#define CHECK_SERIAL_PIN(N) ( \
X_STOP_PIN == N || Y_STOP_PIN == N || Z_STOP_PIN == N \
|| X_MIN_PIN == N || Y_MIN_PIN == N || Z_MIN_PIN == N \
|| X_MAX_PIN == N || Y_MAX_PIN == N || Z_MAX_PIN == N \
|| X_STEP_PIN == N || Y_STEP_PIN == N || Z_STEP_PIN == N \
|| X_DIR_PIN == N || Y_DIR_PIN == N || Z_DIR_PIN == N \
|| X_ENA_PIN == N || Y_ENA_PIN == N || Z_ENA_PIN == N \
)
#if CONF_SERIAL_IS(0) // D0-D1. No known conflicts.
#endif
#if CONF_SERIAL_IS(1) && (CHECK_SERIAL_PIN(18) || CHECK_SERIAL_PIN(19))
#error "Serial Port 1 pin D18 and/or D19 conflicts with another pin on the board."
#endif
#if CONF_SERIAL_IS(2) && (CHECK_SERIAL_PIN(16) || CHECK_SERIAL_PIN(17))
#error "Serial Port 2 pin D16 and/or D17 conflicts with another pin on the board."
#endif
#if CONF_SERIAL_IS(3) && (CHECK_SERIAL_PIN(14) || CHECK_SERIAL_PIN(15))
#error "Serial Port 3 pin D14 and/or D15 conflicts with another pin on the board."
#endif
#undef CHECK_SERIAL_PIN
/**
* Checks for FAST PWM
*/

View file

@ -25,6 +25,30 @@
* Test Arduino Due specific configuration values for errors at compile-time.
*/
/**
* Check for common serial pin conflicts
*/
#define CHECK_SERIAL_PIN(N) ( \
X_STOP_PIN == N || Y_STOP_PIN == N || Z_STOP_PIN == N \
|| X_MIN_PIN == N || Y_MIN_PIN == N || Z_MIN_PIN == N \
|| X_MAX_PIN == N || Y_MAX_PIN == N || Z_MAX_PIN == N \
|| X_STEP_PIN == N || Y_STEP_PIN == N || Z_STEP_PIN == N \
|| X_DIR_PIN == N || Y_DIR_PIN == N || Z_DIR_PIN == N \
|| X_ENA_PIN == N || Y_ENA_PIN == N || Z_ENA_PIN == N \
)
#if CONF_SERIAL_IS(0) // D0-D1. No known conflicts.
#endif
#if CONF_SERIAL_IS(1) && (CHECK_SERIAL_PIN(18) || CHECK_SERIAL_PIN(19))
#error "Serial Port 1 pin D18 and/or D19 conflicts with another pin on the board."
#endif
#if CONF_SERIAL_IS(2) && (CHECK_SERIAL_PIN(16) || CHECK_SERIAL_PIN(17))
#error "Serial Port 2 pin D16 and/or D17 conflicts with another pin on the board."
#endif
#if CONF_SERIAL_IS(3) && (CHECK_SERIAL_PIN(14) || CHECK_SERIAL_PIN(15))
#error "Serial Port 3 pin D14 and/or D15 conflicts with another pin on the board."
#endif
#undef CHECK_SERIAL_PIN
/**
* HARDWARE VS. SOFTWARE SPI COMPATIBILITY
*

View file

@ -27,9 +27,9 @@
#define BOARD_INFO_NAME "GT2560 V3.0 (MC2)"
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#include "pins_GT2560_V3.h"

View file

@ -1664,6 +1664,9 @@
#undef X_MAX_PIN
#define X_MAX_PIN -1
#endif
#if NONE(USE_XMIN_PLUG, USE_XMAX_PLUG)
#undef X_STOP_PIN
#endif
#if DISABLED(USE_YMIN_PLUG)
#undef Y_MIN_PIN
#define Y_MIN_PIN -1
@ -1672,6 +1675,9 @@
#undef Y_MAX_PIN
#define Y_MAX_PIN -1
#endif
#if NONE(USE_YMIN_PLUG, USE_YMAX_PLUG)
#undef Y_STOP_PIN
#endif
#if DISABLED(USE_ZMIN_PLUG)
#undef Z_MIN_PIN
#define Z_MIN_PIN -1
@ -1680,6 +1686,9 @@
#undef Z_MAX_PIN
#define Z_MAX_PIN -1
#endif
#if NONE(USE_ZMIN_PLUG, USE_ZMAX_PLUG)
#undef Z_STOP_PIN
#endif
#if DISABLED(USE_IMIN_PLUG)
#undef I_MIN_PIN
#define I_MIN_PIN -1
@ -1688,6 +1697,9 @@
#undef I_MAX_PIN
#define I_MAX_PIN -1
#endif
#if NONE(USE_IMIN_PLUG, USE_IMAX_PLUG)
#undef I_STOP_PIN
#endif
#if DISABLED(USE_JMIN_PLUG)
#undef J_MIN_PIN
#define J_MIN_PIN -1
@ -1696,6 +1708,9 @@
#undef J_MAX_PIN
#define J_MAX_PIN -1
#endif
#if NONE(USE_JMIN_PLUG, USE_JMAX_PLUG)
#undef J_STOP_PIN
#endif
#if DISABLED(USE_KMIN_PLUG)
#undef K_MIN_PIN
#define K_MIN_PIN -1
@ -1704,6 +1719,9 @@
#undef K_MAX_PIN
#define K_MAX_PIN -1
#endif
#if NONE(USE_KMIN_PLUG, USE_KMAX_PLUG)
#undef K_STOP_PIN
#endif
#if DISABLED(USE_UMIN_PLUG)
#undef U_MIN_PIN
#define U_MIN_PIN -1
@ -1712,6 +1730,9 @@
#undef U_MAX_PIN
#define U_MAX_PIN -1
#endif
#if NONE(USE_UMIN_PLUG, USE_UMAX_PLUG)
#undef U_STOP_PIN
#endif
#if DISABLED(USE_VMIN_PLUG)
#undef V_MIN_PIN
#define V_MIN_PIN -1
@ -1720,6 +1741,9 @@
#undef V_MAX_PIN
#define V_MAX_PIN -1
#endif
#if NONE(USE_VMIN_PLUG, USE_VMAX_PLUG)
#undef V_STOP_PIN
#endif
#if DISABLED(USE_WMIN_PLUG)
#undef W_MIN_PIN
#define W_MIN_PIN -1
@ -1728,6 +1752,9 @@
#undef W_MAX_PIN
#define W_MAX_PIN -1
#endif
#if NONE(USE_WMIN_PLUG, USE_WMAX_PLUG)
#undef W_STOP_PIN
#endif
#if DISABLED(X_DUAL_ENDSTOPS) || X_HOME_TO_MAX
#undef X2_MIN_PIN

View file

@ -10,7 +10,7 @@ set -e
# Build with the default configurations
#
restore_configs
opt_set MOTHERBOARD BOARD_FYSETC_F6_13
opt_set MOTHERBOARD BOARD_FYSETC_F6_13 LCD_SERIAL_PORT 1
opt_enable DGUS_LCD_UI_FYSETC
exec_test $1 $2 "FYSETC F6 1.3 with DGUS" "$3"