From 97b0c4a0238bb4ccdbe94531303ebc1b8bf38f4e Mon Sep 17 00:00:00 2001 From: robbycandra Date: Sun, 26 Dec 2021 09:51:48 +0700 Subject: [PATCH 1/3] HAL adc_enable --- Marlin/src/HAL/LINUX/HAL.h | 2 +- Marlin/src/HAL/SAMD51/HAL.h | 2 +- Marlin/src/HAL/STM32/HAL.h | 4 ++-- Marlin/src/HAL/STM32F1/HAL.h | 4 ++-- Marlin/src/HAL/TEENSY31_32/HAL.h | 2 +- Marlin/src/HAL/TEENSY40_41/HAL.h | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Marlin/src/HAL/LINUX/HAL.h b/Marlin/src/HAL/LINUX/HAL.h index c1b7a5499706..520004464663 100644 --- a/Marlin/src/HAL/LINUX/HAL.h +++ b/Marlin/src/HAL/LINUX/HAL.h @@ -82,7 +82,7 @@ extern MSerialT usb_serial; // ADC #define HAL_ADC_VREF 5.0 #define HAL_ADC_RESOLUTION 10 -#define HAL_ANALOG_SELECT(ch) hal.adc_enable(ch) +#define HAL_ANALOG_SELECT(ch) // ------------------------ // Class Utilities diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index 9fcd73e9b64b..9ded9e74acfb 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -188,7 +188,7 @@ class MarlinHAL { static void adc_init(); // Called by Temperature::init for each sensor at startup - static void adc_enable(const uint8_t ch); + static inline void adc_enable(const uint8_t ch) {} // Begin ADC sampling on the given channel static void adc_start(const pin_t pin); diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index c23ddf69bdaa..e8b3a03423cf 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -142,7 +142,7 @@ typedef libServo hal_servo_t; // ADC // ------------------------ -#define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT) +#define HAL_ANALOG_SELECT(pin) hal.adc_enable(pin) #ifdef ADC_RESOLUTION #define HAL_ADC_RESOLUTION ADC_RESOLUTION @@ -240,7 +240,7 @@ class MarlinHAL { } // Called by Temperature::init for each sensor at startup - static void adc_enable(const pin_t pin); + static inline void adc_enable(const pin_t pin) { pinMode(pin, INPUT); } // Begin ADC sampling on the given channel static void adc_start(const pin_t pin) { adc_result = analogRead(pin); } diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index 8fb4c9299ff5..e9cff3c06378 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -188,7 +188,7 @@ extern uint16_t HAL_adc_result; // ADC // ------------------------ -#define HAL_ANALOG_SELECT(pin) pinMode(pin, INPUT_ANALOG); +#define HAL_ANALOG_SELECT(pin) hal.adc_enable(pin) #ifdef ADC_RESOLUTION #define HAL_ADC_RESOLUTION ADC_RESOLUTION @@ -282,7 +282,7 @@ class MarlinHAL { static void adc_init(); // Called by Temperature::init for each sensor at startup - static void adc_enable(const pin_t pin); + static inline void adc_enable(const pin_t pin) { pinMode(pin, INPUT_ANALOG); } // Begin ADC sampling on the given channel static void adc_start(const pin_t pin); diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.h b/Marlin/src/HAL/TEENSY31_32/HAL.h index a5f67a50f0aa..7516a5f10e5c 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/TEENSY31_32/HAL.h @@ -165,7 +165,7 @@ class MarlinHAL { static void adc_init(); // Called by Temperature::init for each sensor at startup - static void adc_enable(const pin_t ch); + static inline void adc_enable(const pin_t ch) {} // Begin ADC sampling on the given channel static void adc_start(const pin_t ch); diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h index 10263ecb394a..2e565314fb29 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.h +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -194,7 +194,7 @@ class MarlinHAL { static void adc_init(); // Called by Temperature::init for each sensor at startup - static void adc_enable(const pin_t pin); + static inline void adc_enable(const pin_t pin) {} // Begin ADC sampling on the given channel static void adc_start(const pin_t pin); From 9391f8b4730cfe191697a19f7081212a0cc681ec Mon Sep 17 00:00:00 2001 From: robbycandra Date: Sun, 26 Dec 2021 02:37:12 +0700 Subject: [PATCH 2/3] HAL_SPI isr typo --- Marlin/src/HAL/STM32/HAL_SPI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/HAL/STM32/HAL_SPI.cpp b/Marlin/src/HAL/STM32/HAL_SPI.cpp index 7737245de85b..357fb78180bf 100644 --- a/Marlin/src/HAL/STM32/HAL_SPI.cpp +++ b/Marlin/src/HAL/STM32/HAL_SPI.cpp @@ -104,7 +104,7 @@ static SPISettings spiConfig; uint8_t spiRec() { hal.isr_off(); // No interrupts during byte receive const uint8_t data = HAL_SPI_STM32_SpiTransfer_Mode_3(0xFF); - hal.isr_off(); // Enable interrupts + hal.isr_on(); // Enable interrupts return data; } From 18b8165c71b556e6b109d97007d89dc520cb446f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 25 Dec 2021 21:32:47 -0600 Subject: [PATCH 3/3] Update HAL_SPI.cpp --- Marlin/src/HAL/STM32/HAL_SPI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/HAL/STM32/HAL_SPI.cpp b/Marlin/src/HAL/STM32/HAL_SPI.cpp index 357fb78180bf..40d320d5e822 100644 --- a/Marlin/src/HAL/STM32/HAL_SPI.cpp +++ b/Marlin/src/HAL/STM32/HAL_SPI.cpp @@ -104,7 +104,7 @@ static SPISettings spiConfig; uint8_t spiRec() { hal.isr_off(); // No interrupts during byte receive const uint8_t data = HAL_SPI_STM32_SpiTransfer_Mode_3(0xFF); - hal.isr_on(); // Enable interrupts + hal.isr_on(); // Enable interrupts return data; }