Commit Graph

23 Commits (7c5a2c44ab1636f33d651dc9df31103a2c9b248c)

Author SHA1 Message Date
Michal Paszta 5a163b14bd ESP8266: accept partial writes for TCP and clean up code 2020-06-19 17:54:36 +08:00
Chun-Chieh Li 89e2406ab2 ESP8266: Simplify flow control and enable per-socket reconnection
1.  Fix 'spurious close' by adding close() in open(). 'spurious close' gets frequent and cannot ignore when send() changes to asynchronous. User can retry open() until 'spurious close' gets true.
2.  Allow only one actively sending socket because:
    (1) ESP8266 AT packets 'SEND OK'/'SEND FAIL' are not associated with socket ID. No way to tell them.
    (2) In original implementation, ESP8266::send() is synchronous, which implies only one actively sending socket.
3.  Register 'SEND OK'/'SEND FAIL' oobs, like others in ESP8266::ESP8266 constructor. Don't get involved in oob management with send status because ESP8266 modem possibly doesn't reply these packets on error case.
4.  Now that ESP8266::send() changes to asynchronous, drop the code with _parser.recv("SEND OK")/_parser.recv("SEND FAIL"). _parser.recv("SEND OK")/_parser.recv("SEND FAIL") and 'SEND OK'/'SEND FAIL' oobs both consume 'SEND OK'/'SEND FAIL' packets and complicate flow control.
2020-06-19 17:54:34 +08:00
Michal Paszta 8c5cc71081 ESP8266: Introduce single send_status instead of two flags 2020-06-19 17:46:04 +08:00
Michal Paszta 9669a4f7bb ESP8266: Improve error handling and partial sends 2020-06-19 17:46:02 +08:00
Michal Paszta 5f4ba9d3df ESP8266: add a retry mechanism to avoid duplicate data sends
We are now checking if ESP8266 has confirmed receiving data over serial
port with an undocumented (but existing) "Recv x bytes" message. Next we
are explicitly waiting for an official "SEND OK".
2020-06-19 17:45:55 +08:00
Antti Yli-Tokola b87a067434 Make ESP8266 compatible with non rtos build 2020-02-05 14:40:24 +00:00
Dominika Maziec 1aa3b5d9d0 UART in deep sleep mode when it is disconnected 2019-09-20 17:18:32 +02:00
Michal Paszta 5dbaa40eb0 Add the INTERRUPTIN compilation guard for ESP8266 2019-03-28 11:16:30 +02:00
Cruz Monrreal ecfe0c83ae
Merge pull request #9955 from VeijoPesonen/esp8266_wifi_scan_timeout
ESP8266: treats Wi-Fi scan results as out-of-band data; new API to adjusting Wi-Fi scan settings
2019-03-27 00:25:43 -05:00
Veijo Pesonen e2bd0644df ESP8266: new API for setting Wi-Fi scan active/passive mode
Makes possible to decide between active and passive mode.

Makes possible to adjust for how long a single channel is scanned.
2019-03-14 12:01:42 +02:00
Veijo Pesonen b5f3fcf49b ESP8266: Wi-Fi scan results as OOB 2019-03-14 12:00:17 +02:00
Veijo Pesonen 96247dd76a ESP8266: sets hardcoded country code(CC) policy to track AP's CC 2019-03-05 10:40:21 +02:00
Veijo Pesonen 71e5321f0f ESP8266: fixes network status refresh procedure 2019-02-14 10:41:04 +02:00
Veijo Pesonen 876a397101 ESP8266: handles reset ready as OOB
Makes possible to recover from spurious resets addiotionally to planned
ones.
2019-02-14 10:41:04 +02:00
Seppo Takalo 7db2292417 Flush ESP8266 serial input buffers after HW reset 2019-01-10 18:13:32 +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
Deepika 76220fa89c Add Serial + EventQueue dependency to ESP8266 2018-11-30 15:38:28 -06: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 8dd6a5d039 Add ESP8266 driver v1.7 2018-11-09 14:49:48 +02: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
Seppo Takalo fc5bf5986b Add ESP8266 driver v1.6 2018-09-01 12:36:28 -05:00