Merge pull request #12768 from OpenNuvoton/esp8266_bud

ESP8266 Drv support baud-rate switch
pull/12778/head
Martin Kojtal 2020-04-15 09:42:13 +02:00 committed by GitHub
commit 07872bcd3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -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;