From 51ff5b68fa7589f711958a71df149c18c04dd8c0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 12 Mar 2019 20:39:55 -0500 Subject: [PATCH] Clean up fastIO ahead of PWM patch --- Marlin/src/HAL/HAL_AVR/fastio_AVR.h | 23 +++---- Marlin/src/HAL/HAL_DUE/fastio_Due.h | 22 +++---- Marlin/src/HAL/HAL_LINUX/fastio.h | 60 +++++++++--------- Marlin/src/HAL/HAL_LPC1768/fastio.h | 67 +++++++++++---------- Marlin/src/HAL/HAL_STM32/fastio_STM32.h | 2 +- Marlin/src/HAL/HAL_STM32F1/HAL.cpp | 1 - Marlin/src/HAL/HAL_STM32F1/fastio_STM32F1.h | 2 +- Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h | 2 +- Marlin/src/inc/SanityCheck.h | 2 +- 9 files changed, 89 insertions(+), 92 deletions(-) diff --git a/Marlin/src/HAL/HAL_AVR/fastio_AVR.h b/Marlin/src/HAL/HAL_AVR/fastio_AVR.h index 2cf578247f..f11ac80e0a 100644 --- a/Marlin/src/HAL/HAL_AVR/fastio_AVR.h +++ b/Marlin/src/HAL/HAL_AVR/fastio_AVR.h @@ -30,7 +30,7 @@ #include #include "../../core/macros.h" -#define AVR_AT90USB1286_FAMILY (defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__)) +#define AVR_AT90USB1286_FAMILY (defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__)) #define AVR_ATmega1284_FAMILY (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)) #define AVR_ATmega2560_FAMILY (defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)) #define AVR_ATmega2561_FAMILY (defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)) @@ -273,16 +273,15 @@ enum ClockSource2 : char { #define SET_FOCB(T,V) SET_FOC(T,B,V) #define SET_FOCC(T,V) SET_FOC(T,C,V) - /** * PWM availability macros */ // Determine which harware PWMs are already in use #if PIN_EXISTS(CONTROLLER_FAN) - #define PWM_CHK_FAN_B(p) (p == CONTROLLER_FAN_PIN || p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN) + #define PWM_CHK_FAN_B(p) (p == CONTROLLER_FAN_PIN || p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == E5_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN) #else - #define PWM_CHK_FAN_B(p) (p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN) + #define PWM_CHK_FAN_B(p) (p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == E5_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN) #endif #if PIN_EXISTS(FAN) || PIN_EXISTS(FAN1) || PIN_EXISTS(FAN2) @@ -335,24 +334,22 @@ enum ClockSource2 : char { #define PWM_CHK_HEATER(p) false #endif -#define PWM_CHK(p) (PWM_CHK_HEATER(p) || PWM_CHK_SERVO(p) || PWM_CHK_MOTOR_CURRENT(p)\ - || PWM_CHK_FAN_A(p) || PWM_CHK_FAN_B(p)) +#define PWM_CHK(p) (PWM_CHK_HEATER(p) || PWM_CHK_SERVO(p) || PWM_CHK_MOTOR_CURRENT(p) || PWM_CHK_FAN_A(p) || PWM_CHK_FAN_B(p)) // define which hardware PWMs are available for the current CPU // all timer 1 PWMS deleted from this list because they are never available #if AVR_ATmega2560_FAMILY - #define PWM_PINS(p) ((p >= 2 && p <= 10) || p == 13 || p == 44 || p == 45 || p == 46) + #define PWM_PIN(p) ((p >= 2 && p <= 10) || p == 13 || p == 44 || p == 45 || p == 46) #elif AVR_ATmega2561_FAMILY - #define PWM_PINS(p) ((p >= 2 && p <= 6) || p == 9) + #define PWM_PIN(p) ((p >= 2 && p <= 6) || p == 9) #elif AVR_ATmega1284_FAMILY - #define PWM_PINS(p) (p == 3 || p == 4 || p == 14 || p == 15) + #define PWM_PIN(p) (p == 3 || p == 4 || p == 14 || p == 15) #elif AVR_AT90USB1286_FAMILY - #define PWM_PINS(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24) + #define PWM_PIN(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24) #elif AVR_ATmega328_FAMILY - #define PWM_PINS(p) (p == 3 || p == 5 || p == 6 || p == 11) + #define PWM_PIN(p) (p == 3 || p == 5 || p == 6 || p == 11) #else #error "unknown CPU" #endif -// finally - the macro that tells us if a pin is an available hardware PWM -#define USEABLE_HARDWARE_PWM(p) (PWM_PINS(p) && !PWM_CHK(p)) +#define USEABLE_HARDWARE_PWM(P) (PWM_PIN(P) && !PWM_CHK(p)) diff --git a/Marlin/src/HAL/HAL_DUE/fastio_Due.h b/Marlin/src/HAL/HAL_DUE/fastio_Due.h index 0bcad7f3f8..8ca3fe2fb7 100644 --- a/Marlin/src/HAL/HAL_DUE/fastio_Due.h +++ b/Marlin/src/HAL/HAL_DUE/fastio_Due.h @@ -154,34 +154,34 @@ #endif // Set pin as input with pullup mode -#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) +#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) // Read a pin (wrapper) -#define READ(IO) _READ(IO) +#define READ(IO) _READ(IO) // Write to a pin (wrapper) -#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) -#define WRITE(IO,V) _WRITE(IO,V) +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) // Toggle a pin (wrapper) -#define TOGGLE(IO) _TOGGLE(IO) +#define TOGGLE(IO) _TOGGLE(IO) // Set pin as input (wrapper) -#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT(IO) _SET_INPUT(IO) // Set pin as input with pullup (wrapper) #define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) // Set pin as output (wrapper) - reads the pin and sets the output to that value -#define SET_OUTPUT(IO) _SET_OUTPUT(IO) +#define SET_OUTPUT(IO) _SET_OUTPUT(IO) // Check if pin is an input -#define GET_INPUT(IO) !(digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) +#define GET_INPUT(IO) ((digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) == 0) // Check if pin is an output -#define GET_OUTPUT(IO) !!(digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) +#define GET_OUTPUT(IO) ((digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) != 0) // Check if pin is a timer - Must be a constexpr -#define GET_TIMER(IO) ((IO) >= 2 && (IO) <= 13) +#define GET_TIMER(IO) ((IO) >= 2 && (IO) <= 13) // Shorthand -#define OUT_WRITE(IO,V) { SET_OUTPUT(IO); WRITE(IO,V); } +#define OUT_WRITE(IO,V) { SET_OUTPUT(IO); WRITE(IO,V); } // digitalRead/Write wrappers #define extDigitalRead(IO) digitalRead(IO) diff --git a/Marlin/src/HAL/HAL_LINUX/fastio.h b/Marlin/src/HAL/HAL_LINUX/fastio.h index 45b96fd515..44a3d18198 100644 --- a/Marlin/src/HAL/HAL_LINUX/fastio.h +++ b/Marlin/src/HAL/HAL_LINUX/fastio.h @@ -30,16 +30,16 @@ #define USEABLE_HARDWARE_PWM(pin) false -#define SET_DIR_INPUT(IO) Gpio::setDir(IO, 1) -#define SET_DIR_OUTPUT(IO) Gpio::setDir(IO, 0) +#define SET_DIR_INPUT(IO) Gpio::setDir(IO, 1) +#define SET_DIR_OUTPUT(IO) Gpio::setDir(IO, 0) -#define SET_MODE(IO, mode) Gpio::setMode(IO, mode) +#define SET_MODE(IO, mode) Gpio::setMode(IO, mode) -#define WRITE_PIN_SET(IO) Gpio::set(IO) -#define WRITE_PIN_CLR(IO) Gpio::clear(IO) +#define WRITE_PIN_SET(IO) Gpio::set(IO) +#define WRITE_PIN_CLR(IO) Gpio::clear(IO) -#define READ_PIN(IO) Gpio::get(IO) -#define WRITE_PIN(IO,V) Gpio::set(IO, V) +#define READ_PIN(IO) Gpio::get(IO) +#define WRITE_PIN(IO,V) Gpio::set(IO, V) /** * Magic I/O routines @@ -50,77 +50,77 @@ */ /// Read a pin -#define _READ(IO) READ_PIN(IO) +#define _READ(IO) READ_PIN(IO) /// Write to a pin -#define _WRITE_VAR(IO,V) digitalWrite(IO,V) +#define _WRITE_VAR(IO,V) digitalWrite(IO,V) -#define _WRITE(IO,V) WRITE_PIN(IO,V) +#define _WRITE(IO,V) WRITE_PIN(IO,V) /// toggle a pin -#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) +#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) /// set pin as input -#define _SET_INPUT(IO) SET_DIR_INPUT(IO) +#define _SET_INPUT(IO) SET_DIR_INPUT(IO) /// set pin as output -#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) +#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) /// set pin as input with pullup mode -#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) +#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) /// set pin as input with pulldown mode -#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT) +#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT) // hg42: all pins can be input or output (I hope) // hg42: undefined pins create compile error (IO, is no pin) // hg42: currently not used, but was used by pinsDebug /// check if pin is an input -#define _GET_INPUT(IO) (LPC1768_PIN_PIN(IO) >= 0) +#define _GET_INPUT(IO) (LPC1768_PIN_PIN(IO) >= 0) /// check if pin is an output -#define _GET_OUTPUT(IO) (LPC1768_PIN_PIN(IO) >= 0) +#define _GET_OUTPUT(IO) (LPC1768_PIN_PIN(IO) >= 0) // hg42: GET_TIMER is used only to check if it's a PWM pin // hg42: we cannot use USEABLE_HARDWARE_PWM because it uses a function that cannot be used statically // hg42: instead use PWM bit from the #define /// check if pin is a timer -#define _GET_TIMER(IO) TRUE // could be LPC1768_PIN_PWM(IO), but there +#define _GET_TIMER(IO) true // could be LPC1768_PIN_PWM(IO), but there // hg42: could be this: // #define _GET_TIMER(IO) LPC1768_PIN_PWM(IO) // but this is an incomplete check (12 pins are PWMable, but only 6 can be used at the same time) /// Read a pin wrapper -#define READ(IO) _READ(IO) +#define READ(IO) _READ(IO) /// Write to a pin wrapper -#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) -#define WRITE(IO,V) _WRITE(IO,V) +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) /// toggle a pin wrapper -#define TOGGLE(IO) _TOGGLE(IO) +#define TOGGLE(IO) _TOGGLE(IO) /// set pin as input wrapper -#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT(IO) _SET_INPUT(IO) /// set pin as input with pullup wrapper -#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) +#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) /// set pin as input with pulldown wrapper -#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) +#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) /// set pin as output wrapper - reads the pin and sets the output to that value -#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) +#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) /// check if pin is an input wrapper -#define GET_INPUT(IO) _GET_INPUT(IO) +#define GET_INPUT(IO) _GET_INPUT(IO) /// check if pin is an output wrapper -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +#define GET_OUTPUT(IO) _GET_OUTPUT(IO) /// check if pin is a timer (wrapper) -#define GET_TIMER(IO) _GET_TIMER(IO) +#define GET_TIMER(IO) _GET_TIMER(IO) // Shorthand -#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) +#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) // digitalRead/Write wrappers #define extDigitalRead(IO) digitalRead(IO) diff --git a/Marlin/src/HAL/HAL_LPC1768/fastio.h b/Marlin/src/HAL/HAL_LPC1768/fastio.h index dcc243f119..5fbb1b8c1b 100644 --- a/Marlin/src/HAL/HAL_LPC1768/fastio.h +++ b/Marlin/src/HAL/HAL_LPC1768/fastio.h @@ -35,21 +35,22 @@ #include -#define USEABLE_HARDWARE_PWM(pin) TRUE // all pins are PWM capable +#define PWM_PIN(P) true // all pins are PWM capable +#define USEABLE_HARDWARE_PWM(P) PWM_PIN(P) -#define LPC_PIN(pin) gpio_pin(pin) -#define LPC_GPIO(port) gpio_port(port) +#define LPC_PIN(pin) gpio_pin(pin) +#define LPC_GPIO(port) gpio_port(port) -#define SET_DIR_INPUT(IO) gpio_set_input(IO) -#define SET_DIR_OUTPUT(IO) gpio_set_output(IO) +#define SET_DIR_INPUT(IO) gpio_set_input(IO) +#define SET_DIR_OUTPUT(IO) gpio_set_output(IO) -#define SET_MODE(IO, mode) pinMode(IO, mode) +#define SET_MODE(IO, mode) pinMode(IO, mode) -#define WRITE_PIN_SET(IO) gpio_set(IO) -#define WRITE_PIN_CLR(IO) gpio_clear(IO) +#define WRITE_PIN_SET(IO) gpio_set(IO) +#define WRITE_PIN_CLR(IO) gpio_clear(IO) -#define READ_PIN(IO) gpio_get(IO) -#define WRITE_PIN(IO,V) gpio_set(IO, V) +#define READ_PIN(IO) gpio_get(IO) +#define WRITE_PIN(IO,V) gpio_set(IO, V) /** * Magic I/O routines @@ -60,67 +61,67 @@ */ /// Read a pin -#define _READ(IO) READ_PIN(IO) +#define _READ(IO) READ_PIN(IO) /// Write to a pin -#define _WRITE_VAR(IO,V) digitalWrite(IO,V) +#define _WRITE_VAR(IO,V) digitalWrite(IO,V) -#define _WRITE(IO,V) WRITE_PIN(IO,V) +#define _WRITE(IO,V) WRITE_PIN(IO,V) /// toggle a pin -#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) +#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) /// set pin as input -#define _SET_INPUT(IO) SET_DIR_INPUT(IO) +#define _SET_INPUT(IO) SET_DIR_INPUT(IO) /// set pin as output -#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) +#define _SET_OUTPUT(IO) SET_DIR_OUTPUT(IO) /// set pin as input with pullup mode -#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) +#define _PULLUP(IO,V) pinMode(IO, (V) ? INPUT_PULLUP : INPUT) /// set pin as input with pulldown mode -#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT) +#define _PULLDOWN(IO,V) pinMode(IO, (V) ? INPUT_PULLDOWN : INPUT) /// check if pin is an input -#define _GET_INPUT(IO) (!gpio_get_dir(IO)) +#define _GET_INPUT(IO) (!gpio_get_dir(IO)) /// check if pin is an output -#define _GET_OUTPUT(IO) (gpio_get_dir(IO)) +#define _GET_OUTPUT(IO) (gpio_get_dir(IO)) /// check if pin is a timer /// all gpio pins are pwm capable, either interrupt or hardware pwm controlled -#define _GET_TIMER(IO) TRUE +#define _GET_TIMER(IO) true /// Read a pin wrapper -#define READ(IO) _READ(IO) +#define READ(IO) _READ(IO) /// Write to a pin wrapper -#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) -#define WRITE(IO,V) _WRITE(IO,V) +#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) +#define WRITE(IO,V) _WRITE(IO,V) /// toggle a pin wrapper -#define TOGGLE(IO) _TOGGLE(IO) +#define TOGGLE(IO) _TOGGLE(IO) /// set pin as input wrapper -#define SET_INPUT(IO) _SET_INPUT(IO) +#define SET_INPUT(IO) _SET_INPUT(IO) /// set pin as input with pullup wrapper -#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) +#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0) /// set pin as input with pulldown wrapper -#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) +#define SET_INPUT_PULLDOWN(IO) do{ _SET_INPUT(IO); _PULLDOWN(IO, HIGH); }while(0) /// set pin as output wrapper - reads the pin and sets the output to that value -#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) +#define SET_OUTPUT(IO) do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0) /// check if pin is an input wrapper -#define GET_INPUT(IO) _GET_INPUT(IO) +#define GET_INPUT(IO) _GET_INPUT(IO) /// check if pin is an output wrapper -#define GET_OUTPUT(IO) _GET_OUTPUT(IO) +#define GET_OUTPUT(IO) _GET_OUTPUT(IO) /// check if pin is a timer (wrapper) -#define GET_TIMER(IO) _GET_TIMER(IO) +#define GET_TIMER(IO) _GET_TIMER(IO) // Shorthand -#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) +#define OUT_WRITE(IO,V) do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0) // digitalRead/Write wrappers #define extDigitalRead(IO) digitalRead(IO) diff --git a/Marlin/src/HAL/HAL_STM32/fastio_STM32.h b/Marlin/src/HAL/HAL_STM32/fastio_STM32.h index d5c28f7cbe..a648c4327c 100644 --- a/Marlin/src/HAL/HAL_STM32/fastio_STM32.h +++ b/Marlin/src/HAL/HAL_STM32/fastio_STM32.h @@ -77,7 +77,7 @@ void FastIO_init(); // Must be called before using fast io macros #define GET_OUTPUT(IO) #define GET_TIMER(IO) -#define PWM_PIN(p) digitalPinHasPWM(p) +#define PWM_PIN(p) digitalPinHasPWM(p) #define USEABLE_HARDWARE_PWM(p) PWM_PIN(p) // digitalRead/Write wrappers diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp index 34b590ca85..1534a35756 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp @@ -207,7 +207,6 @@ static void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { } } #endif - void HAL_init(void) { NVIC_SetPriorityGrouping(0x3); } diff --git a/Marlin/src/HAL/HAL_STM32F1/fastio_STM32F1.h b/Marlin/src/HAL/HAL_STM32F1/fastio_STM32F1.h index 31c59e00e2..9f6747c7a8 100644 --- a/Marlin/src/HAL/HAL_STM32F1/fastio_STM32F1.h +++ b/Marlin/src/HAL/HAL_STM32F1/fastio_STM32F1.h @@ -42,7 +42,7 @@ #define SET_INPUT(IO) _SET_MODE(IO, GPIO_INPUT_FLOATING) #define SET_INPUT_PULLUP(IO) _SET_MODE(IO, GPIO_INPUT_PU) -#define SET_OUTPUT(IO) OUT_WRITE(IO,LOW) +#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) #define GET_INPUT(IO) (_GET_MODE(IO) == GPIO_INPUT_FLOATING || _GET_MODE(IO) == GPIO_INPUT_ANALOG || _GET_MODE(IO) == GPIO_INPUT_PU || _GET_MODE(IO) == GPIO_INPUT_PD) #define GET_OUTPUT(IO) (_GET_MODE(IO) == GPIO_OUTPUT_PP) diff --git a/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h index 7db060d5a0..3f365d02eb 100644 --- a/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/fastio_STM32F7.h @@ -50,7 +50,7 @@ #define GET_OUTPUT(IO) #define GET_TIMER(IO) -#define PWM_PIN(p) true +#define PWM_PIN(p) true #define USEABLE_HARDWARE_PWM(p) PWM_PIN(p) // digitalRead/Write wrappers diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 8d4737bacb..2efd7b5d7a 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -2014,7 +2014,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif #if ENABLED(FAST_PWM_FAN) && !(defined(ARDUINO) && !defined(ARDUINO_ARCH_SAM)) - #error "FAST_PWM_FAN only supported by 8 bit CPUs." + #error "FAST_PWM_FAN is only supported for ARDUINO and ARDUINO_ARCH_SAM." #endif #if ENABLED(Z_STEPPER_AUTO_ALIGN)