Commit Graph

42 Commits (00a5fac0be57350934432fd1210c627133ab11ef)

Author SHA1 Message Date
Martin Kojtal b59b93e828
Merge pull request #9331 from VeijoPesonen/bugfix-esp8266_udp_prevent_would_block
ESP8266: prevent WOULD BLOCK from TX if UDP
2019-01-17 12:41:42 +01:00
Martin Kojtal a180d69e60
Merge pull request #9356 from VeijoPesonen/bugfix-esp8266_disconnect_return_code
ESP8266 - fixes disconnect to check the state from modem
2019-01-15 10:38:40 +01:00
Veijo Pesonen e83b883e08 [ESP8266] fixes disconnect to check the state from modem
Additionally to internal bookkeeping lets check from the modem
that what is connection state in disconnect. There might be
inconsistencies.
2019-01-11 16:25:26 +02:00
Seppo Takalo 7db2292417 Flush ESP8266 serial input buffers after HW reset 2019-01-10 18:13:32 +02:00
Veijo Pesonen e9ceff2450 [ESP8266] fixes a debug print 2019-01-10 14:33:15 +02:00
Veijo Pesonen 9a3c9a30b3 [ESP8266] Drop signalling SIGIO artificially if UDP send fails
With TCP it's desirable that SIGIO wakes up the application to check
if there is buffer space space available on the mode. With UDP the
behavior is not acceptable as we don't know if the other endpoint is
there as connection establishment is missing. Hence buffers might
stay full forever.
2019-01-10 14:33:15 +02:00
Martin Kojtal e25611aad8
Merge pull request #9309 from VeijoPesonen/bugfix-esp8266_send_busy
ESP8266 - fix send buffer exhaustion handling
2019-01-10 12:24:09 +00:00
Cruz Monrreal b9d5dceb72
Merge pull request #9284 from VeijoPesonen/bugfix-esp8266_socket_close
ESP8266: Fixes AT-layer socket_open-functions
2019-01-09 13:47:46 -06:00
Veijo Pesonen 7c112b2843 [ESP8266] socket_send() returns WOULD_BLOCK if server won't accept
Driver must return NSAPI_ERROR_WOULD_BLOCK if a server won't accept
data from the modem and the modem's buffers are full. In case that
socket is closed driver returns NSAPI_ERROR_CONNECTION_LOST.
2019-01-09 16:34:25 +02:00
Veijo Pesonen 4a9f86565a [ESP8266] Fixes AT-layer socket_open-functions
When a socket open fails it musn't be treated as fatal error. Returning
a device error which is then handled by an application is the correct
solution
2019-01-09 13:20:52 +02:00
Seppo Takalo 8bf3ce3d68 ESP8266: Set HW reset time to 2ms 2019-01-08 18:18:46 +02:00
Michal Paszta 034c72e12c Prevent ESP8266 stopping HW control on init 2018-12-20 13:22:13 +01:00
Russ Butler 6210805696 Fix ESP8266 "Link Type" errors after reset
As part of the ESP8266 connect sequence, ESP8266Interface::connect,
a software reset is performed. If the ESP8266 had been connected
previously then the ESP8266 will sometimes send a "WIFI DISCONNECT" OOB
message before performing the software reset. This causes the
ESP8266::_oob_connection_status to change its state (_conn_status) from
NSAPI_STATUS_DISCONNECTED to NSAPI_STATUS_CONNECTING. This causes
ESP8266Interface::_startup, called later in the boot seqeunce, to skip
ESP8266::startup. Without this call socket mux mode (CIPMUX=1) is never
enabled and all send commands using this format fail with a "Link Type"
error.

This patch fixes that problem by unconditionally calling
ESP8266::startup as part of the ESP8266 connect sequence.
2018-12-17 10:11:52 -06:00
Michal Paszta d6e385b330 ESP8266 send returns WOULD_BLOCK error when busy 2018-12-11 17:48:37 +01:00
Veijo Pesonen e4de165a32 [ESP8266] Fixes namespace collision 2018-12-11 09:49:23 +02:00
Veijo Pesonen 02aeab29d3 [ESP8266] powers down the modem on disconnect 2018-12-11 09:49:23 +02:00
Veijo Pesonen 8415e49835 Fixes connect, and network-status logic 2018-12-11 09:49:23 +02:00
Veijo Pesonen 12fa3e59bb Fixes AT command timeout values from reset&connect 2018-12-11 09:49:23 +02:00
Veijo Pesonen 9857ee1c17 [ESP8266] Adds support for controlling HW reset of the modem from the driver
While connecting will run HW reset for the modem if reset wire is attached to a know pin.
2018-12-11 09:49:23 +02:00
Cruz Monrreal 61ade84447
Merge pull request #8875 from deepikabhavnani/fix_components
Add dependency checks to components
2018-12-10 19:20:30 -06:00
Martin Kojtal be817bab44
Merge pull request #8853 from VeijoPesonen/feature-esp8266_reconnect2
Reports NSAPI_STATUS_CONNECTING when trying to reconnect
2018-12-05 10:37:17 +01:00
Seppo Takalo c384119576 ONME-4007: Fix mbed_lib link from ESP8266 Readme.md
ONME-4007: Fix mbed_lib link from ESP8266 Readme.md
2018-12-04 10:27:17 +02:00
Martin Kojtal b52c164028
Merge pull request #8911 from c1728p9/esp8266_flow_control_fix
Fix ESP8266 recv_udp timeout with flow control
2018-12-03 13:41:23 +01:00
Martin Kojtal 0d0740f17e
Merge pull request #8890 from michalpasztamobica/esp8266_disconnect_no_connection
ESP8266 disconnect returns ERROR_NO_CONNECTION
2018-12-03 13:40:54 +01:00
Deepika 76220fa89c Add Serial + EventQueue dependency to ESP8266 2018-11-30 15:38:28 -06:00
Russ Butler 53ed3f5c3d Fix ESP8266 recv_udp timeout with flow control
UDP packets are always received as OOB data. Without checking for
new OOB data with a call to "_process_oob" then recv_udp never blocks.
If a UDP packet is not available then NSAPI_ERROR_WOULD_BLOCK is
returned. This causes mbed-os's DNS handling to always fail when
flow control is enabled.

This patch fixes recv_udp by always calling "_process_oob" regardless
of if flow control is enabled. This ensures that recv_udp follows the
timeout parameter and waits for new data to arrive.
2018-11-29 19:13:37 -06:00
Michal Paszta eb9c688574 ESP8266 disconnect returns ERROR_NO_CONNECTION 2018-11-28 11:23:09 +01:00
Deepika b32c6ba2a5 Components if using RTOS modules should be enabled only when RTOS is present
Build failures were observed when rtos is ignored with .mbedignored.
Components dependent on RTOS should be guarded with MBED_CONF_RTOS_PRESENT
2018-11-27 13:55:59 -06:00
Deepika 6c6ef87c19 Fix header files used in esp8266
"ns_types.h" results in build failure when networking feature is ignored with
.mbedignored. ESP8266 component should be enabled only when NSAPI is present.
2018-11-27 13:55:59 -06:00
Veijo Pesonen e0924532e7 Reports NSAPI_STATUS_CONNECTING when trying to reconnect 2018-11-23 12:56:02 +02:00
Veijo Pesonen fefef0d855 Truncates TCP stream and NACKs UDP datagram when sending too much data
ESP8266 maximum packet size when sending is 2048 bytes.
2018-11-23 12:22:20 +02:00
Veijo Pesonen c0f9e65af6 Fixes return value check when calling ATCmdParser::read() 2018-11-22 15:57:46 +02:00
Veijo Pesonen 95511bc7eb Dropping duplicate "using namespace mbed;" 2018-11-22 15:57:33 +02:00
Veijo Pesonen 1f4a1af6ed Truncates data to be send to modem to 2048 bytes 2018-11-22 15:57:21 +02:00
Veijo Pesonen f54b25073c Drops std:: because string.h is included 2018-11-22 15:56:59 +02:00
Veijo Pesonen 934472be1d esp8266 driver - don't set UART flow control if no support 2018-11-09 16:03:41 +02:00
Veijo Pesonen 8dd6a5d039 Add ESP8266 driver v1.7 2018-11-09 14:49:48 +02:00
Cruz Monrreal 9226c5873d
Merge pull request #8550 from deepikabhavnani/mbed_h_fixes
Add required namespace instead of relying on mbed.h
2018-10-30 08:47:04 -05:00
deepikabhavnani 451cf7ccb3 Add required namespace instead of relying on mbed.h
mbed.h has 'using namespace mbed;', hence some of the files skip
adding required namespace to the code, it is always good to specify the
namespace around the elements in header and `using namespace` in
specific CPP files, instead of all
2018-10-25 12:43:59 -05:00
paul-szczepanek-arm 4f2645b3fc incorrect doc was copy pasted
replaced with copydoc instead
2018-10-24 20:57:25 +01:00
Juha Ylinen 273f7c6fd6 ESP8266: Fix compilation error when default interface is enabled
Compile [  1.3%]: ESP8266Interface.cpp
[Error] ESP8266Interface.cpp@582,33: cannot declare static function inside another function
[Error] ESP8266Interface.cpp@583,13: cannot convert 'ESP8266Interface (*)()' to 'WiFiInterface*' in return
Failed to build library
2018-09-03 12:56:26 +03:00
Seppo Takalo fc5bf5986b Add ESP8266 driver v1.6 2018-09-01 12:36:28 -05:00