From 0a68db79f62daba43dcb864283047498c2b4d9b9 Mon Sep 17 00:00:00 2001 From: pnb Date: Fri, 10 Jun 2016 23:17:09 +0200 Subject: [PATCH 1/3] esp8266 bug fix --- netutils/esp8266/esp8266.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netutils/esp8266/esp8266.c b/netutils/esp8266/esp8266.c index ee2b71e40..84c482ed6 100644 --- a/netutils/esp8266/esp8266.c +++ b/netutils/esp8266/esp8266.c @@ -494,7 +494,7 @@ static int lesp_read(int timeout_ms) pthread_mutex_unlock(&g_lesp_state.mutex); } - while (ret == 0); + while (ret <= 0); nvdbg("read %d=>%s\n", ret, g_lesp_state.bufans); @@ -1092,7 +1092,7 @@ int lesp_list_access_points(lesp_cb_t cb) ret = lesp_ask_ans_ok(lespTIMEOUT_MS,"AT\r\n"); - if (ret < 0) + if (ret >= 0) { ret = lesp_send_cmd("AT+CWLAP\r\n"); } From dab4105f80bf8948a7047f1b88e49e3002faa601 Mon Sep 17 00:00:00 2001 From: pnb Date: Sat, 11 Jun 2016 12:46:26 +0200 Subject: [PATCH 2/3] add lesp_set_baudrate --- netutils/esp8266/esp8266.c | 52 +++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/netutils/esp8266/esp8266.c b/netutils/esp8266/esp8266.c index 84c482ed6..77fb56012 100644 --- a/netutils/esp8266/esp8266.c +++ b/netutils/esp8266/esp8266.c @@ -53,7 +53,9 @@ #include #include +#include "sys/ioctl.h" #include "sys/socket.h" +#include "termios.h" #include "apps/netutils/esp8266.h" @@ -158,6 +160,45 @@ lesp_state_t g_lesp_state = * Private Functions ****************************************************************************/ +/**************************************************************************** + * Name: lesp_set_baudrate + * + * Description: + * Set com port to baudrate. + * + * Input Parmeters: + * sockfd : int baudrate + * + * Returned Value: + * 0 on success, -1 incase of error. + * + ****************************************************************************/ + +static int lesp_set_baudrate(int baudrate) +{ + struct termios term; + + if ( ioctl(g_lesp_state.fd,TCGETS,(unsigned long)&term) < 0 ) + { + ndbg("TCGETS failed.\n"); + return -1; + } + + if ( ( cfsetispeed( &term, baudrate ) < 0 ) || + ( cfsetospeed( &term, baudrate ) < 0 ) ) + { + ndbg("Connot set baudrate %0x08X\n",baudrate); + return -1; + } + + if ( ioctl(g_lesp_state.fd,TCSETS,(unsigned long)&term) < 0 ) + { + ndbg("TCSETS failed.\n"); + return -1; + } + return 0; +} + /**************************************************************************** * Name: get_sock * @@ -878,13 +919,11 @@ int lesp_initialize(void) ret = -1; } -#if 0 // lesp_set_baudrate is not defined - if (ret >= 0 && lesp_set_baudrate(g_lesp_state.fd, CONFIG_NETUTILS_ESP8266_BAUDRATE) < 0) + if (ret >= 0 && lesp_set_baudrate(CONFIG_NETUTILS_ESP8266_BAUDRATE) < 0) { ndbg("Cannot set baud rate %d\n", CONFIG_NETUTILS_ESP8266_BAUDRATE); ret = -1; } -#endif if ((ret >= 0) && (g_lesp_state.worker.running == false)) { @@ -892,6 +931,13 @@ int lesp_initialize(void) } pthread_mutex_unlock(&g_lesp_state.mutex); + + if (ret < 0) + { + nvdbg("Esp8266 initialisation failed!\n"); + return -1; + } + g_lesp_state.is_initialized = true; nvdbg("Esp8266 initialized\n"); From 96853cfea1c4f426ead28e6f694591a04b905f25 Mon Sep 17 00:00:00 2001 From: pnb Date: Sat, 11 Jun 2016 12:51:56 +0200 Subject: [PATCH 3/3] commetic --- netutils/esp8266/esp8266.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/netutils/esp8266/esp8266.c b/netutils/esp8266/esp8266.c index 77fb56012..4b77deedf 100644 --- a/netutils/esp8266/esp8266.c +++ b/netutils/esp8266/esp8266.c @@ -175,29 +175,29 @@ lesp_state_t g_lesp_state = ****************************************************************************/ static int lesp_set_baudrate(int baudrate) -{ + { struct termios term; if ( ioctl(g_lesp_state.fd,TCGETS,(unsigned long)&term) < 0 ) - { + { ndbg("TCGETS failed.\n"); return -1; - } + } if ( ( cfsetispeed( &term, baudrate ) < 0 ) || ( cfsetospeed( &term, baudrate ) < 0 ) ) - { + { ndbg("Connot set baudrate %0x08X\n",baudrate); return -1; - } + } if ( ioctl(g_lesp_state.fd,TCSETS,(unsigned long)&term) < 0 ) - { + { ndbg("TCSETS failed.\n"); return -1; - } + } return 0; -} + } /**************************************************************************** * Name: get_sock