From 49304837fb5107f6dc48fe8dbbda632e7b3aca3a Mon Sep 17 00:00:00 2001 From: Simon Jouet Date: Sun, 7 Feb 2021 16:44:35 +0000 Subject: [PATCH] Fix ESP32 I2S initialization order --- Marlin/src/HAL/ESP32/HAL.cpp | 6 ++++-- Marlin/src/HAL/ESP32/HAL.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Marlin/src/HAL/ESP32/HAL.cpp b/Marlin/src/HAL/ESP32/HAL.cpp index d9afa13ab8d2..ed2a47c219fc 100644 --- a/Marlin/src/HAL/ESP32/HAL.cpp +++ b/Marlin/src/HAL/ESP32/HAL.cpp @@ -89,8 +89,6 @@ volatile int numPWMUsed = 0, #endif -void HAL_init() { i2s_init(); } - void HAL_init_board() { #if ENABLED(ESP3D_WIFISUPPORT) @@ -127,6 +125,10 @@ void HAL_init_board() { #endif #endif + // Initialize the i2s peripheral only if the I2S stepper stream is enabled. + // The following initialization is performed after Serial1 and Serial2 are defined as + // their native pins might conflict with the i2s stream even when they are remapped. + TERN_(I2S_STEPPER_STREAM, i2s_init()); } void HAL_idletask() { diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index a04343b69e5a..806c8f76117c 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -135,7 +135,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin); #define HAL_IDLETASK 1 #define BOARD_INIT() HAL_init_board(); void HAL_idletask(); -void HAL_init(); +inline void HAL_init() {} void HAL_init_board(); //