[ESP32] Allow user to define pins for hardware Serial1 and Serial2 (#16918)
This commit is contained in:
parent
484e1a624c
commit
eeec4c27e7
3 changed files with 40 additions and 1 deletions
|
@ -27,6 +27,7 @@
|
|||
#include <rom/rtc.h>
|
||||
#include <driver/adc.h>
|
||||
#include <esp_adc_cal.h>
|
||||
#include <HardwareSerial.h>
|
||||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
|
@ -105,6 +106,27 @@ void HAL_init_board() {
|
|||
#endif
|
||||
server.begin();
|
||||
#endif
|
||||
|
||||
// ESP32 uses a GPIO matrix that allows pins to be assigned to hardware serial ports.
|
||||
// The following code initializes hardware Serial1 and Serial2 to use user-defined pins
|
||||
// if they have been defined.
|
||||
#if defined(HARDWARE_SERIAL1_RX) && defined(HARDWARE_SERIAL1_TX)
|
||||
HardwareSerial Serial1(1);
|
||||
#ifdef TMC_BAUD_RATE // use TMC_BAUD_RATE for Serial1 if defined
|
||||
Serial1.begin(TMC_BAUD_RATE, SERIAL_8N1, HARDWARE_SERIAL1_RX, HARDWARE_SERIAL1_TX);
|
||||
#else // use default BAUDRATE if TMC_BAUD_RATE not defined
|
||||
Serial1.begin(BAUDRATE, SERIAL_8N1, HARDWARE_SERIAL1_RX, HARDWARE_SERIAL1_TX);
|
||||
#endif
|
||||
#endif
|
||||
#if defined(HARDWARE_SERIAL2_RX) && defined(HARDWARE_SERIAL2_TX)
|
||||
HardwareSerial Serial2(2);
|
||||
#ifdef TMC_BAUD_RATE // use TMC_BAUD_RATE for Serial1 if defined
|
||||
Serial2.begin(TMC_BAUD_RATE, SERIAL_8N1, HARDWARE_SERIAL2_RX, HARDWARE_SERIAL2_TX);
|
||||
#else // use default BAUDRATE if TMC_BAUD_RATE not defined
|
||||
Serial2.begin(BAUDRATE, SERIAL_8N1, HARDWARE_SERIAL2_RX, HARDWARE_SERIAL2_TX);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void HAL_idletask() {
|
||||
|
|
|
@ -101,3 +101,10 @@
|
|||
#define SDSS 5
|
||||
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
|
||||
|
||||
// Hardware serial pins
|
||||
// Add the following to Configuration.h or Configuration_adv.h to assign
|
||||
// specific pins to hardware Serial1.
|
||||
// Note: Serial2 can be defined using HARDWARE_SERIAL2_RX and HARDWARE_SERIAL2_TX but
|
||||
// MRR ESPA does not have enough spare pins for such reassignment.
|
||||
//#define HARDWARE_SERIAL1_RX 21
|
||||
//#define HARDWARE_SERIAL1_TX 22
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
#define BEEPER_PIN 151
|
||||
|
||||
//#define LCD_PINS_D5 150
|
||||
//#define LCD_PINS_D6 151
|
||||
//#define LCD_PINS_D6 152
|
||||
//#define LCD_PINS_D7 153
|
||||
|
||||
#else
|
||||
|
@ -153,3 +153,13 @@
|
|||
#define BTN_ENC 14
|
||||
|
||||
#endif // HAS_GRAPHICAL_LCD
|
||||
|
||||
// Hardware serial pins
|
||||
// Add the following to Configuration.h or Configuration_adv.h to assign
|
||||
// specific pins to hardware Serial1 and Serial2.
|
||||
// Note: Serial2 can be defined using HARDWARE_SERIAL2_RX and HARDWARE_SERIAL2_TX but
|
||||
// MRR ESPA does not have enough spare pins for such reassignment.
|
||||
//#define HARDWARE_SERIAL1_RX 21
|
||||
//#define HARDWARE_SERIAL1_TX 22
|
||||
//#define HARDWARE_SERIAL2_RX 2
|
||||
//#define HARDWARE_SERIAL2_TX 4
|
||||
|
|
Reference in a new issue