[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 <rom/rtc.h>
|
||||||
#include <driver/adc.h>
|
#include <driver/adc.h>
|
||||||
#include <esp_adc_cal.h>
|
#include <esp_adc_cal.h>
|
||||||
|
#include <HardwareSerial.h>
|
||||||
|
|
||||||
#include "../../inc/MarlinConfigPre.h"
|
#include "../../inc/MarlinConfigPre.h"
|
||||||
|
|
||||||
|
@ -105,6 +106,27 @@ void HAL_init_board() {
|
||||||
#endif
|
#endif
|
||||||
server.begin();
|
server.begin();
|
||||||
#endif
|
#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() {
|
void HAL_idletask() {
|
||||||
|
|
|
@ -101,3 +101,10 @@
|
||||||
#define SDSS 5
|
#define SDSS 5
|
||||||
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
|
#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 BEEPER_PIN 151
|
||||||
|
|
||||||
//#define LCD_PINS_D5 150
|
//#define LCD_PINS_D5 150
|
||||||
//#define LCD_PINS_D6 151
|
//#define LCD_PINS_D6 152
|
||||||
//#define LCD_PINS_D7 153
|
//#define LCD_PINS_D7 153
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -153,3 +153,13 @@
|
||||||
#define BTN_ENC 14
|
#define BTN_ENC 14
|
||||||
|
|
||||||
#endif // HAS_GRAPHICAL_LCD
|
#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