Description
Description
I am evaluating ESP8266 CTS/RST on Nuvoton target, for example on NUMAKER_PFM_M487. For this test, I have UART CTS/RTS/RST connected besides UART Rx/Tx, For enabling CTS/RTS and reset functions, I pass these pins to ESP8266 driver as below:
static ESP8266Interface esp(D1, D0, false, A2, A3, D2);
Without any change to ESP8266 driver, I am very easy to meet _esp.stop_uart_hw_flow_ctrl()
failure:
mbed-os/components/wifi\esp8266-driver/ESP8266Interface.cpp (no change):
nsapi_error_t ESP8266Interface::_init(void)
{
if (!_initialized) {
_hw_reset();
if (!_esp.at_available()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
if (!_esp.stop_uart_hw_flow_ctrl()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
if (!_esp.reset()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
AT log of _esp.stop_uart_hw_flow_ctrl() failure:
Start WiFi test Start Connection ... Using WiFi Connecting to WiFi.. AT> AT AT? OK %n AT< rlAT< ▒ ▒AT< ll`b▒▒▒ ▒▒r▒▒AT< ready AT! WIFI AT? %*12[^"] %n AT= CONNECTED AT? OK %n AT(Timeout) AT> AT AT? OK %n AT< AT AT= OK AT> AT+UART_CUR=115200,8,1,0,0 AT? OK %n AT? OK AT+UART_CUR=115200,8 AT< ,1,0,0 AT< OK AT< AT+OK AT? %n AT(Timeout)
If I re-try _esp.stop_uart_hw_flow_ctrl()
like below, it can work. And the ESP8266 CTS/RTS function is workable after this modification.
mbed-os/components/wifi\esp8266-driver/ESP8266Interface.cpp (retry _esp.stop_uart_hw_flow_ctrl()
):
nsapi_error_t ESP8266Interface::_init(void)
{
if (!_initialized) {
_hw_reset();
if (!_esp.at_available()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
if (!_esp.stop_uart_hw_flow_ctrl()) {
if (!_esp.stop_uart_hw_flow_ctrl()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
}
if (!_esp.reset()) {
return NSAPI_ERROR_DEVICE_ERROR;
}
AT log of retrying _esp.stop_uart_hw_flow_ctrl() failure:
Start WiFi test Start Connection ... Using WiFi Connecting to WiFi.. AT> AT AT? OK %n AT< rlAT< ▒ ▒AT< ll`b▒▒▒ ▒▒r▒▒AT< ready AT! WIFI AT? %*12[^"] %n AT= CONNECTED AT? OK %n AT(Timeout) AT> AT AT? OK %n AT< AT AT= OK AT> AT+UART_CUR=115200,8,1,0,0 AT? OK %n AT? OK AT+UART_CUR=115200, AT< 8,1,0,0 AT< OK AT< GOT IP AT(Timeout) AT? %n AT(Timeout) AT> AT+UART_CUR=115200,8,1,0,0 AT? OK %n AT< AT+UART_CUR=115200,8,1,0,0 AT= OK AT> AT+RST AT? OK %n AT< AT+RST AT= OK
mbed-os SHA
70956ee (origin/master, origin/HEAD, master) Merge pull request #8955 from ARMmbed/dreemkiller_LPC54608_fix
ESP8266 AT version
1.6.2
ESP8266 SDK version
2.2.1
Related issue
Issue request type
[ ] Question
[ ] Enhancement
[x] Bug