From fd7b160fd10b8717e42d7a0ac5580250af9e9372 Mon Sep 17 00:00:00 2001 From: cyliangtw Date: Tue, 7 Apr 2020 17:27:57 +0800 Subject: [PATCH 1/2] esp8266 support baud-rate switch --- components/wifi/esp8266-driver/ESP8266/ESP8266.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp index 1520027335..c9d164e36b 100644 --- a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp +++ b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp @@ -36,6 +36,9 @@ #define ESP8266_ALL_SOCKET_IDS -1 +#define ESP8266_DEFAULT_SERIAL_BAUDRATE 115200 + + using namespace mbed; 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) _sock_sending_id(-1), _conn_status(NSAPI_STATUS_DISCONNECTED) { - _serial.set_baud(MBED_CONF_ESP8266_SERIAL_BAUDRATE); + _serial.set_baud(ESP8266_DEFAULT_SERIAL_BAUDRATE); _parser.debug_on(debug); _parser.set_delimiter("\r\n"); _parser.oob("+IPD", callback(this, &ESP8266::_oob_packet_hdlr)); @@ -124,6 +127,14 @@ bool ESP8266::at_available() } tr_debug("at_available(): Waiting AT response."); } + // Switch baud-rate from default one to assigned one + if(MBED_CONF_ESP8266_SERIAL_BAUDRATE != ESP8266_DEFAULT_SERIAL_BAUDRATE) { + ready &= _parser.send("AT+UART_CUR=%u,8,1,0,0", MBED_CONF_ESP8266_SERIAL_BAUDRATE) + && _parser.recv("OK\n"); + _serial.set_baud(MBED_CONF_ESP8266_SERIAL_BAUDRATE); + ready &= _parser.send("AT") + && _parser.recv("OK\n"); + } _smutex.unlock(); return ready; From 89077b1d8be40e2bec089fb521183b2899671b07 Mon Sep 17 00:00:00 2001 From: cyliangtw Date: Tue, 7 Apr 2020 18:32:36 +0800 Subject: [PATCH 2/2] fulfill astyle --- components/wifi/esp8266-driver/ESP8266/ESP8266.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp index c9d164e36b..d1dc3ee559 100644 --- a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp +++ b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp @@ -128,7 +128,7 @@ bool ESP8266::at_available() tr_debug("at_available(): Waiting AT response."); } // Switch baud-rate from default one to assigned one - if(MBED_CONF_ESP8266_SERIAL_BAUDRATE != ESP8266_DEFAULT_SERIAL_BAUDRATE) { + if (MBED_CONF_ESP8266_SERIAL_BAUDRATE != ESP8266_DEFAULT_SERIAL_BAUDRATE) { ready &= _parser.send("AT+UART_CUR=%u,8,1,0,0", MBED_CONF_ESP8266_SERIAL_BAUDRATE) && _parser.recv("OK\n"); _serial.set_baud(MBED_CONF_ESP8266_SERIAL_BAUDRATE);