Skip to content

Commit 07872bc

Browse files
authored
Merge pull request #12768 from OpenNuvoton/esp8266_bud
ESP8266 Drv support baud-rate switch
2 parents 8926ea0 + 89077b1 commit 07872bc

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

components/wifi/esp8266-driver/ESP8266/ESP8266.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636

3737
#define ESP8266_ALL_SOCKET_IDS -1
3838

39+
#define ESP8266_DEFAULT_SERIAL_BAUDRATE 115200
40+
41+
3942
using namespace mbed;
4043

4144
ESP8266::ESP8266(PinName tx, PinName rx, bool debug, PinName rts, PinName cts)
@@ -62,7 +65,7 @@ ESP8266::ESP8266(PinName tx, PinName rx, bool debug, PinName rts, PinName cts)
6265
_sock_sending_id(-1),
6366
_conn_status(NSAPI_STATUS_DISCONNECTED)
6467
{
65-
_serial.set_baud(MBED_CONF_ESP8266_SERIAL_BAUDRATE);
68+
_serial.set_baud(ESP8266_DEFAULT_SERIAL_BAUDRATE);
6669
_parser.debug_on(debug);
6770
_parser.set_delimiter("\r\n");
6871
_parser.oob("+IPD", callback(this, &ESP8266::_oob_packet_hdlr));
@@ -124,6 +127,14 @@ bool ESP8266::at_available()
124127
}
125128
tr_debug("at_available(): Waiting AT response.");
126129
}
130+
// Switch baud-rate from default one to assigned one
131+
if (MBED_CONF_ESP8266_SERIAL_BAUDRATE != ESP8266_DEFAULT_SERIAL_BAUDRATE) {
132+
ready &= _parser.send("AT+UART_CUR=%u,8,1,0,0", MBED_CONF_ESP8266_SERIAL_BAUDRATE)
133+
&& _parser.recv("OK\n");
134+
_serial.set_baud(MBED_CONF_ESP8266_SERIAL_BAUDRATE);
135+
ready &= _parser.send("AT")
136+
&& _parser.recv("OK\n");
137+
}
127138
_smutex.unlock();
128139

129140
return ready;

0 commit comments

Comments
 (0)