Skip to content

Commit f5a7318

Browse files
Jeroen88earlephilhower
Jeroen88
authored andcommitted
Add ::updateBaudRate(unsigned long baud) to change the baudrate after begin was called (#6494)
1 parent efb8aaa commit f5a7318

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

cores/esp8266/HardwareSerial.cpp

+12-3
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,15 @@ void HardwareSerial::end()
6060
_uart = NULL;
6161
}
6262

63+
void HardwareSerial::updateBaudRate(unsigned long baud)
64+
{
65+
if(!_uart) {
66+
return;
67+
}
68+
69+
uart_set_baudrate(_uart, baud);
70+
}
71+
6372
size_t HardwareSerial::setRxBufferSize(size_t size){
6473
if(_uart) {
6574
_rx_size = uart_resize_rx_buffer(_uart, size);
@@ -133,8 +142,8 @@ unsigned long HardwareSerial::detectBaudrate(time_t timeoutMillis)
133142
return detectedBaudrate;
134143
}
135144

136-
size_t HardwareSerial::readBytes(char* buffer, size_t size)
137-
{
145+
size_t HardwareSerial::readBytes(char* buffer, size_t size)
146+
{
138147
size_t got = 0;
139148

140149
while (got < size)
@@ -147,7 +156,7 @@ size_t HardwareSerial::readBytes(char* buffer, size_t size)
147156
got += read(buffer + got, std::min(size - got, avail));
148157
}
149158
return got;
150-
}
159+
}
151160

152161
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
153162
HardwareSerial Serial(UART0);

cores/esp8266/HardwareSerial.h

+2
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ class HardwareSerial: public Stream
8888

8989
void end();
9090

91+
void updateBaudRate(unsigned long baud);
92+
9193
size_t setRxBufferSize(size_t size);
9294
size_t getRxBufferSize()
9395
{

0 commit comments

Comments
 (0)