1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-27 21:16:50 +03:00

63 Commits

Author SHA1 Message Date
david gauchard
af1bc71a9e
remove lwip-v1.4 specific code (#7436)
* remove lwip-v1.4 specific code

* ditto

* ditto

* fix ip4_addr definition

* CI: change debug builds to use IPv6, remove regular IPv6 builds

* ditto

* split pio CI in four (because they last twice the time of the other builds)

* remove option from pio

* remove lwIP-1.4 from doc

* restore pio CI splitting

* fix CI debug6 script

* ditto
2020-07-09 09:59:49 -07:00
M Hightower
503988132d
fNull pointer call from WiFiClient::localIP() to IPAddress (#7221)
Fixes exception 28 in IPAddress(const ipv4_addr* fw_addr); with null ip_addr
pointer passed in by WiFiCient.cpp localIP(). I assumed that localIP()
was called shortly after _pcb became null.
2020-04-17 23:19:46 +02:00
david gauchard
2d58be744b
TCP: fixes backlog limit handling, and allows ephemeral TCP connections (#7096)
* fix backlog limit handling, and allow ephemeral TCP connections
* do not retain empty connections
2020-02-24 07:16:55 +01:00
Allman-astyler
eea9999dc5 Revert "Allman now (#6080)" (#6090)
This reverts commit 98125f88605cd7e46e9be4e1b3ad0600dd5d2b51.
2019-05-14 00:09:54 +02:00
Allman-astyler
98125f8860 Allman now (#6080)
* switch restyle script for CI

* remove confirmation

* restyle with allman
2019-05-13 16:41:34 +02:00
david gauchard
cdb549572d
restore proper arduino Client:: & Wire:: API (#5969) 2019-04-26 22:05:46 +02:00
david gauchard
b666435282 WiFiClient::remoteIP: fix nullptr crash (#5634) 2019-01-18 22:08:32 -03:00
david gauchard
5c4db3acf4
IPv6 on esp8266-nonos-sdk and arduino (#5136) 2018-11-27 23:07:47 +01:00
dav1901
cd05bae0e8 Pass string objects by reference (#5378) 2018-11-25 11:18:44 -03:00
david gauchard
74ca42f829 Sketch emulation on host (#5342)
* WIP compile examples on host with 'make examples'

* WIP bufferize tcp input

* WIP Makefile

* WIP network to rework, tcp/udp to factorize, udp addresses broken

* minor changes to the core

* WIP basic udp working

* WIP mdns

* WIP mcast receiving, not sending

* WIP mdns OK

* beta version

* SSL + doc

* update travis host test command

* licenses

* typo

* doc: arduino builder is not around: declare functions before calling them

* fix with latest SSL PR, compile in 32 bits mode

* fix make clean

* make -m32 optional

* 32bits compiler ability tester

* WIP

* WIP (fix 1 vtable error, still another one to hunt with using spiffs)

* example astyle

* fix os_printf_plus

* load / save mock spiffs

* fix style

* fix using spiffs/mock

* don't mess ram

* update doc

* remove leftover

* optimization -Os except for CI, rename ARCH32 to FORCE32

* revert useless cast (not even compiled)

* remove unused function

* use proper type for pointer arithmetics

* makefile: sketch object and cpp file moved to bin/ directories
easier to clean, and IDE don't like them

* changes for review

* make use of %zd

* less verbose makefile by default (option)

* update readme
2018-11-20 18:51:45 -02:00
david gauchard
83a8076db8 ClientContext (tcp) updates (#5089)
* +sync, get/set default nodelay, sync

* default nodelay=1

* update flush()

* fix return value

* ClientContext: put things together

* ClientContext: fix debugging messages

* WiFiClient: move static members out of the class, add comments

* remove circular dependency

* parameter and return value for Client::flush&stop, flush timeout raised to 300ms

* tcp flush: restart timer on ack receive

* OTA protocol needs setNoDelay(true)

* fix Ethernet with Client changes

* 1 line unredable -> 5 lines readable code

* doc

* Update client-class.rst

* Added details for getters
2018-09-25 10:47:27 -03:00
david gauchard
d8a7a34caf automatically WiFiClient::flush before ::stop (#5135) 2018-09-22 00:23:36 -03:00
david gauchard
b08d282673 fix connection reset by peer case (#4626)
* fix connection reset by peer case where pcb is set to null in ClientContext::_error but not reported to WiFiClient

* ClientContext: rename functions *_sent to *_acked (:sent to :ack in debug)

* use nullptr instead of 0
2018-04-11 22:25:04 -03:00
Ivan Grokhotkov
95b1348a71 WiFiClient: clean up ClientContext before connecting (#4516)
Fixes https://github.com/esp8266/Arduino/issues/4497
2018-03-23 12:19:45 -03:00
david gauchard
a2e7c7d016 (bool)WiFiClient needs to return ::connected() since ClientContext is not destroyed on ::stop() (#4422) 2018-03-02 20:27:08 -03:00
Ivan Grokhotkov
ee5a1e2804 WiFiClient: don’t destroy ClientContext on ::stop
Reported in https://github.com/esp8266/Arduino/issues/4078.

WiFiClient::stopAll, called from a WiFi disconnected event handler,
could be called while WiFiClient::connect was in progress. This issue
was initially fixed in #4194, by testing `this` pointer for being
non-null in ClientContext::connect.

This change delegates deletion of ClientContext to WiFiClient
destructor. WiFiClient::stop only calls ClientContext::stop, which
closes/aborts the connection.
2018-02-20 03:33:55 +03:00
david gauchard
9cfbbc7ad3 keepalive api (default 2h,75s,9 not enabled) (#3937) 2018-01-05 00:17:37 -03:00
Rick van Schijndel
28803540a2 Added String hostname support to WiFiClient and WiFiClientSecure (#3349)
* Added String hostname support to WiFiClient and WiFiClientSecure

* Typo in WiFi
2017-12-29 01:58:36 -03:00
david gauchard
f8b577b6c3 fix WiFiClient::availableForWrite() with no connexion (#3985)
fix #3983
2017-12-18 00:47:56 -03:00
david gauchard
26980b39e3 fix #1002 ::Flush() wait for empty send buffer (#3967)
* fix #1002 ::Flush() wait for empty send buffer

* WiFiClient::Flush() guarantees that the data has been delivered
option 1 of https://github.com/esp8266/Arduino/pull/3967#discussion_r156901071
10ms max wait according to loaded tcp echo/reply scheme
2017-12-17 13:16:41 -03:00
Ivan Grokhotkov
4812cae8e2 WiFiClient: initialize _timeout properly 2017-05-20 12:20:03 +08:00
Ivan Grokhotkov
684b5f1629 WiFiClient: set default timeout to 5000ms for compatibility 2017-05-19 09:35:01 -05:00
Ivan Grokhotkov
71512653ca WiFiClient: use Stream::_timeout for write operations 2017-05-19 09:35:01 -05:00
Ivan Grokhotkov
eebcc656ed WiFiClient: add support for connect timeout 2017-05-19 09:35:01 -05:00
david gauchard
a41f55c469 prepare lwip2 (#3129)
* minimum changes for libraries to compile with lwip2

* add WiFiClient::availableForWrite() (similar to Serial::) which indicates how much data can be sent without buffering
2017-04-25 08:55:01 -05:00
Rodion Kvashnin
2126146e20 Fix warnings (#2881)
* Suppressed -Wunused-parameter and -Wunused-function by casting to void unused identifiers.

* Explicit initialization of all fields to suppress -Wmissing-field-initializers.

* Fixed signed/unsigned integer comparison.

* memset initialization of structs.

* More -Wunused-parameter fixes.
2017-01-31 10:07:59 +03:00
Ivan Grokhotkov
8db4dcea42 WifiClient::write refactoring (second attempt) (#2177)
* WiFiClient: use DataSource for writes

* ESP8266WebServer: delegate writing to WiFiClient

* ESP8266WebServer: set write timeout before sending content
2016-06-23 17:47:18 +08:00
Ivan Grokhotkov
43412970ae Fix for crash in WiFiClientSecure when WiFi is disconnected (#2139)
* WiFiClient: implement stopAll() via stop()

* WiFiClientSecure: clean up ClientContext used by axTLS when stop is called (#2097)
2016-06-13 18:36:30 +08:00
Christopher Pascoe
2375fb0f86 Cleanup: remove unused includes of cbuf.h. 2015-12-29 12:25:24 -05:00
Markus Sattler
5333ebfed7 add function peekBytes to WiFiClient/WiFiClientSecure to allow to peek multiple bytes if possible 2015-12-19 14:37:36 +01:00
Martin Ayotte
e3e25da792 fix bug in WiFiClient::write_P/ESP8266WebServer::sendContent_P introduced few minutes ago when changing memccpy_P to memcpy_P 2015-09-06 14:04:57 -04:00
Martin Ayotte
389107f09d fix bug in WiFiClient::write_P when content was binary 2015-09-06 13:09:57 -04:00
Ivan Grokhotkov
a9fbe27cba Merge pull request #729 from Links2004/esp8266
fix mac 599 for ESP8266HTTPUpdate
2015-08-31 09:38:28 +03:00
Ivan Grokhotkov
4995d03b20 Merge pull request #714 from martinayotte/esp8266
add toCharArray() to IPAddress class
2015-08-31 09:37:22 +03:00
Markus Sattler
966bf45b35 rename stopAllexcepted to stopAllExcept and simplify the compare 2015-08-29 15:33:41 +02:00
Markus Sattler
79bec479b5 Merge remote-tracking branch 'remotes/esp8266/esp8266' into esp8266
Conflicts:
	hardware/esp8266com/esp8266/cores/esp8266/Updater.cpp
	hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/include/ClientContext.h
2015-08-29 13:47:25 +02:00
Markus Sattler
8e50cdb190 Updater.cpp:
- use new AutoInterruptLock
 - add delay to give the RTOS some time to handle TCP

WiFiClient.cpp
 - add stopAllexcepted to cancel all TCP excepted one

ClientContext.h
 - add getLocalPort()

ESP8266HTTPUpdate.cpp
 - close all not needed TCP and UDP

osapi.h
 - missing commit from SDK
2015-08-29 13:45:58 +02:00
Martin Ayotte
e89ae46a6b add WiFiClient::write_P to be used with PROGMEM 2015-08-22 00:25:28 -04:00
aalku
acc34e2914 LocalIP/LocalPort support 2015-08-19 13:18:43 +03:00
Ivan Grokhotkov
e5d2ba5db8 Pass timeout to optimistic_yield, add cont_can_yield check 2015-07-20 15:48:25 +03:00
Makuna
17de2d7a4e define in header
remove extern from cpp files
2015-07-15 16:32:49 -07:00
Makuna
d815c36753 optimistic_yield()
this introduces optimistic_yield() used for when standard library
methods are normally used in tight loops waiting for something to
happen, like available().
2015-07-13 13:47:13 -07:00
Ivan Grokhotkov
6f63ad1ee4 Fix return value of WiFiClient::connect (#511) 2015-07-06 08:02:24 +03:00
Ivan Grokhotkov
e6e57a8b81 Better handling of wifi disconnect (#231)
When network interface is down, some nasty things happen, for instance tcp_connect returns without ever calling error callback.
This change adds some workarounds for that: before doing a tcp connect and DNS resolve we check if there is a route available.
Also added a listener for wifi events which stops (aborts) all the WiFiClients and WiFiUDPs when wifi is disconnected. This should
help libraries detect disconnect properly.
2015-06-11 18:01:33 +03:00
Dario Di Maio
7f66a3a415 Remove unnecessary ICACHE_FLASH_ATTR 2015-06-05 15:58:44 +03:00
Ivan Grokhotkov
49aeb79b05 Add API to set the beginning of local ports range for WiFiClient 2015-05-24 23:15:05 +03:00
ficeto
3e7b8515e4 pull get/set NoDelay for WiFiClient 2015-05-13 20:01:05 +03:00
ficeto
74a2b75cf9 Revert "Add WiFiClient.write for Stream"
This reverts commit fa24d770c5096ad7a8894c3e5221c1358efe128c.
2015-05-13 12:45:48 +03:00
ficeto
f4969ce0e5 Add WiFiClient.write for Stream
reads directly from the stream and fragments the data to achieve
maximum data throughput over WiFi
2015-05-13 12:07:42 +03:00
Bob van der Linden
021b8b61e7 ESP8266WiFi: made connected() return true if data is available
WiFiClient::connected() should return true if the connection is disconnected, but there is still data available. This is specified in the Arduino docs: http://www.arduino.cc/en/Reference/WiFiClientConnected
2015-04-29 07:02:19 +08:00