diff --git a/Marlin/src/HAL/STM32/pinsDebug.h b/Marlin/src/HAL/STM32/pinsDebug.h index 21cd2de39f..b14c9c721c 100644 --- a/Marlin/src/HAL/STM32/pinsDebug.h +++ b/Marlin/src/HAL/STM32/pinsDebug.h @@ -150,7 +150,7 @@ const XrefInfo pin_xref[] PROGMEM = { #ifndef M43_NEVER_TOUCH #define _M43_NEVER_TOUCH(x) WITHIN(x, 9, 12) // SERIAL/USB pins: PA9(TX) PA10(RX) PA11(USB_DM) PA12(USB_DP) - #ifdef KILL_PIN + #if PIN_EXISTS(KILL) #define M43_NEVER_TOUCH(x) m43_never_touch(x) bool m43_never_touch(const pin_t index) { diff --git a/Marlin/src/HAL/STM32F1/SPI.h b/Marlin/src/HAL/STM32F1/SPI.h index 27bf684388..72063df699 100644 --- a/Marlin/src/HAL/STM32F1/SPI.h +++ b/Marlin/src/HAL/STM32F1/SPI.h @@ -33,12 +33,14 @@ #include #include +#include "../../core/macros.h" // for PIN_EXISTS + // Number of SPI ports -#ifdef BOARD_SPI3_SCK_PIN +#if PIN_EXISTS(BOARD_SPI3_SCK) #define BOARD_NR_SPI 3 -#elif defined(BOARD_SPI2_SCK_PIN) +#elif PIN_EXISTS(BOARD_SPI2_SCK) #define BOARD_NR_SPI 2 -#elif defined(BOARD_SPI1_SCK_PIN) +#elif PIN_EXISTS(BOARD_SPI1_SCK) #define BOARD_NR_SPI 1 #endif diff --git a/Marlin/src/feature/controllerfan.cpp b/Marlin/src/feature/controllerfan.cpp index 585568b250..07c6d0ad62 100644 --- a/Marlin/src/feature/controllerfan.cpp +++ b/Marlin/src/feature/controllerfan.cpp @@ -44,9 +44,30 @@ uint8_t ControllerFan::speed; void ControllerFan::setup() { SET_OUTPUT(CONTROLLER_FAN_PIN); - #ifdef CONTROLLER_FAN2_PIN + #if PIN_EXISTS(CONTROLLER_FAN2) SET_OUTPUT(CONTROLLER_FAN2_PIN); #endif + #if PIN_EXISTS(CONTROLLER_FAN3) + SET_OUTPUT(CONTROLLER_FAN3_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN4) + SET_OUTPUT(CONTROLLER_FAN4_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN5) + SET_OUTPUT(CONTROLLER_FAN5_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN6) + SET_OUTPUT(CONTROLLER_FAN6_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN7) + SET_OUTPUT(CONTROLLER_FAN7_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN8) + SET_OUTPUT(CONTROLLER_FAN8_PIN); + #endif + #if PIN_EXISTS(CONTROLLER_FAN9) + SET_OUTPUT(CONTROLLER_FAN9_PIN); + #endif init(); } @@ -73,10 +94,10 @@ void ControllerFan::update() { #if ALL(HAS_HEATED_BED, CONTROLLER_FAN_BED_HEATING) || thermalManager.temp_bed.soft_pwm_amount > 0 #endif - #ifdef CONTROLLER_FAN_MIN_BOARD_TEMP + #if PIN_EXISTS(CONTROLLER_FAN_MIN_BOARD_) || thermalManager.wholeDegBoard() >= CONTROLLER_FAN_MIN_BOARD_TEMP #endif - #ifdef CONTROLLER_FAN_MIN_SOC_TEMP + #if PIN_EXISTS(CONTROLLER_FAN_MIN_SOC_) || thermalManager.wholeDegSoc() >= CONTROLLER_FAN_MIN_SOC_TEMP #endif ) lastComponentOn = ms; //... set time to NOW so the fan will turn on @@ -107,19 +128,38 @@ void ControllerFan::update() { fan_kick_end = 0; #endif + #define SET_CONTROLLER_FAN(N) do { \ + if (PWM_PIN(CONTROLLER_FAN##N##_PIN)) hal.set_pwm_duty(pin_t(CONTROLLER_FAN##N##_PIN), speed); \ + else WRITE(CONTROLLER_FAN##N##_PIN, speed > 0);\ + } while (0) + #if ENABLED(FAN_SOFT_PWM) soft_pwm_speed = speed; #else - if (PWM_PIN(CONTROLLER_FAN_PIN)) - hal.set_pwm_duty(pin_t(CONTROLLER_FAN_PIN), speed); - else - WRITE(CONTROLLER_FAN_PIN, speed > 0); - - #ifdef CONTROLLER_FAN2_PIN - if (PWM_PIN(CONTROLLER_FAN2_PIN)) - hal.set_pwm_duty(pin_t(CONTROLLER_FAN2_PIN), speed); - else - WRITE(CONTROLLER_FAN2_PIN, speed > 0); + SET_CONTROLLER_FAN(); + #if PIN_EXISTS(CONTROLLER_FAN2) + SET_CONTROLLER_FAN(2); + #endif + #if PIN_EXISTS(CONTROLLER_FAN3) + SET_CONTROLLER_FAN(3); + #endif + #if PIN_EXISTS(CONTROLLER_FAN4) + SET_CONTROLLER_FAN(4); + #endif + #if PIN_EXISTS(CONTROLLER_FAN5) + SET_CONTROLLER_FAN(5); + #endif + #if PIN_EXISTS(CONTROLLER_FAN6) + SET_CONTROLLER_FAN(6); + #endif + #if PIN_EXISTS(CONTROLLER_FAN7) + SET_CONTROLLER_FAN(7); + #endif + #if PIN_EXISTS(CONTROLLER_FAN8) + SET_CONTROLLER_FAN(8); + #endif + #if PIN_EXISTS(CONTROLLER_FAN9) + SET_CONTROLLER_FAN(9); #endif #endif } diff --git a/Marlin/src/pins/pins_postprocess.h b/Marlin/src/pins/pins_postprocess.h index 2c29cf4d8c..0934d25c1a 100644 --- a/Marlin/src/pins/pins_postprocess.h +++ b/Marlin/src/pins/pins_postprocess.h @@ -629,7 +629,7 @@ // #if HAS_X_AXIS - #ifdef X_STOP_PIN + #if PIN_EXISTS(X_STOP) #if X_HOME_TO_MIN #define X_MIN_PIN X_STOP_PIN #elif X_HOME_TO_MAX @@ -657,7 +657,7 @@ #endif #if HAS_Y_AXIS - #ifdef Y_STOP_PIN + #if PIN_EXISTS(Y_STOP) #if Y_HOME_TO_MIN #define Y_MIN_PIN Y_STOP_PIN #elif Y_HOME_TO_MAX @@ -685,7 +685,7 @@ #endif #if HAS_Z_AXIS - #ifdef Z_STOP_PIN + #if PIN_EXISTS(Z_STOP) #if Z_HOME_TO_MIN #define Z_MIN_PIN Z_STOP_PIN #elif Z_HOME_TO_MAX @@ -716,7 +716,7 @@ #endif #if HAS_I_AXIS - #ifdef I_STOP_PIN + #if PIN_EXISTS(I_STOP) #if I_HOME_TO_MIN #define I_MIN_PIN I_STOP_PIN #elif I_HOME_TO_MAX @@ -730,7 +730,7 @@ #endif #if HAS_J_AXIS - #ifdef J_STOP_PIN + #if PIN_EXISTS(J_STOP) #if J_HOME_TO_MIN #define J_MIN_PIN J_STOP_PIN #elif J_HOME_TO_MAX @@ -744,7 +744,7 @@ #endif #if HAS_K_AXIS - #ifdef K_STOP_PIN + #if PIN_EXISTS(K_STOP) #if K_HOME_TO_MIN #define K_MIN_PIN K_STOP_PIN #elif K_HOME_TO_MAX @@ -758,7 +758,7 @@ #endif #if HAS_U_AXIS - #ifdef U_STOP_PIN + #if PIN_EXISTS(U_STOP) #if U_HOME_TO_MIN #define U_MIN_PIN U_STOP_PIN #elif U_HOME_TO_MAX @@ -772,7 +772,7 @@ #endif #if HAS_V_AXIS - #ifdef V_STOP_PIN + #if PIN_EXISTS(V_STOP) #if V_HOME_TO_MIN #define V_MIN_PIN V_STOP_PIN #elif V_HOME_TO_MAX @@ -786,7 +786,7 @@ #endif #if HAS_W_AXIS - #ifdef W_STOP_PIN + #if PIN_EXISTS(W_STOP) #if W_HOME_TO_MIN #define W_MIN_PIN W_STOP_PIN #elif W_HOME_TO_MAX @@ -1871,9 +1871,9 @@ // Get a NeoPixel pin from the LCD or board, if provided #ifndef NEOPIXEL_PIN - #ifdef LCD_NEOPIXEL_PIN + #if PIN_EXISTS(LCD_NEOPIXEL) #define NEOPIXEL_PIN LCD_NEOPIXEL_PIN - #elif defined(BOARD_NEOPIXEL_PIN) + #elif PIN_EXISTS(BOARD_NEOPIXEL) #define NEOPIXEL_PIN BOARD_NEOPIXEL_PIN #endif #endif diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h index f126a6fcef..1dde32f949 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h @@ -303,7 +303,7 @@ int16_t UHS_NI MAX3421E_HOST::Init(int16_t mseconds) { pinMode(ss_pin, OUTPUT); MARLIN_UHS_WRITE_SS(HIGH); - #ifdef USB_HOST_SHIELD_TIMING_PIN + #if PIN_EXISTS(USB_HOST_SHIELD_TIMING) pinMode(USB_HOST_SHIELD_TIMING_PIN, OUTPUT); // My counter/timer can't work on an inverted gate signal // so we gate using a high pulse -- AJK @@ -863,7 +863,7 @@ void UHS_NI MAX3421E_HOST::ISRbottom() { interrupts(); } #endif - #ifdef USB_HOST_SHIELD_TIMING_PIN + #if PIN_EXISTS(USB_HOST_SHIELD_TIMING) // My counter/timer can't work on an inverted gate signal // so we gate using a high pulse -- AJK UHS_PIN_WRITE(USB_HOST_SHIELD_TIMING_PIN, LOW); @@ -969,7 +969,7 @@ void UHS_NI MAX3421E_HOST::ISRbottom() { if (!sof_countdown && !counted && !usb_task_polling_disabled) { DisablePoll(); //usb_task_polling_disabled++; - #ifdef USB_HOST_SHIELD_TIMING_PIN + #if PIN_EXISTS(USB_HOST_SHIELD_TIMING) // My counter/timer can't work on an inverted gate signal // so we gate using a high pulse -- AJK UHS_PIN_WRITE(USB_HOST_SHIELD_TIMING_PIN, HIGH);