1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-16 11:21:18 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
51c2a1437b more lwIP physical interfaces (#6680)
This commit adds W5500 W5100 and ENC28j60 drivers from @njh with credits
They are available in libraries/
An example is added in W5500 examples directory

plus:
* Extract dhcp server from lwip2 and add it to the core as a class.
  It must always be present, it is linked and can be called by fw on boot.
  So it cannot be stored in a library.
* ethernet: static or dhcp works
* PPPServer: example
* bring WiFi.config() to the lwIP generic interface (argument reorder common function)
* move hostname() from WiFI-STA to generic interface
* remove non readable characters from dhcp-server comments
* dhcp-server: magic_cookie is part of bootp rfc
* fixes from https://github.com/d-a-v/W5500lwIP/issues/17
* enable lwip_hook_dhcp_parse_option()
* +ethernet tcp client example in w5500 library examples
2020-12-22 22:36:21 +01:00
0452f4728f BREAKING: Change return type of RSSI() (#7657) 2020-10-15 14:00:30 -07:00
1c624dd76a BREAKING: Add Wrong Password wifi status case (#7652)
* Add Wrong Password wifi status case
* Add wrong password case for status return
* Add wrong password case for debug
* Add Wrong password case to interactive example
* Add case for wrong password to station doc
* Add case for wrong password to resumeFromShutdown
* Add wrong password case to wifi readme
* Update ESP8266WiFiGeneric.cpp
2020-10-15 09:52:17 -07:00
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
bc170e6d63 WiFi: ARP gratuitous API for wifi station mode (#6889)
* wifi: ARP gratuitous API for wifi station mode

* fix with lwip1

* update comment

* update API to allow changing interval on the fly

* update API

* remove debug lines

* mock lwIP's etharp_request()

* unsigned interval

* use scheduled ticker

* ticker: +attach_ms_scheduled_accurate
ticker: +comment
gratuitous: use attach_ms_scheduled_accurate

* move to experimental namespace

* fix for lwIP-v1.4

* attempt to make pio happy

* use directly ETSTimer instead of Ticker
2020-04-09 16:19:15 +02:00
273f4000f0 Experimental: add new WiFi (pseudo) modes: WIFI_SHUTDOWN & WIFI_RESUME (#6356)
* add new WiFimodes: WIFI_SHUTDOWN & WIFI_RESUME with example
* restore WiFi.onWiFiModeChange()
2019-09-05 03:01:01 +02:00
16312949c9 Add timeout to STA::waitForConnectResult (#5371) 2019-07-04 14:08:02 +02:00
59db907647 lwip2: (re)fix setting static ip address (#6194) 2019-06-17 23:57:31 +02:00
eea9999dc5 Revert "Allman now (#6080)" (#6090)
This reverts commit 98125f8860.
2019-05-14 00:09:54 +02:00
98125f8860 Allman now (#6080)
* switch restyle script for CI

* remove confirmation

* restyle with allman
2019-05-13 16:41:34 +02:00
e071033c3c minor fix for host emulation (#6046) 2019-05-04 10:32:12 +02:00
1750022601 fix switching to static address with lwip2 (#6026)
fix switching to static address with lwip2

For some reason, ip address is not propagated in a visible way for lwip2
when switching to static address (wifi.config()) *after* wifi.begin().

This patch calls lwip-v1.4's netif_set_addr() with the new ip address to set
all things up, just like it is done and right when wifi.begin() is called
after wifi.config().

Also tested when IPv6 is enabled.

fix documentation: It is more natural to set an IP address before starting WiFi
(.. and not after dhcp has started)
fixes #5839
fixes #6024
2019-05-01 12:35:03 +02:00
f0eb5509a0 use static_assert to check on fw structure changes over updates (fix) (#5946) 2019-04-03 23:17:09 +02:00
ca79f2ce39 use static_assert to check on fw structure changes over updates (#5939) 2019-04-02 00:44:27 +02:00
68c0a1cc9e sta_config_equal (#5937)
* sta_config_equal

* sta_config_equal bug update
2019-04-01 15:38:09 -03:00
a3ea816e65 add optional espressif fw nonos-sdk 2.2.x (19.03.13) (#5873) 2019-03-14 13:35:26 +01:00
7745e99046 Revert to nonos-sdk 2.2.1, new sdk-switching option in IDE menu for generic board only (#5763)
This commit allows switching SDK firmware:

nonos-sdk-pre-v3 shipped with release 2.5.0 has issues:

    * Some boards show erratic behavior (radio connection is quickly lost), with an unknown cause.
      These boards work well with previous nonos-sdk-2.2.1 firmware (#5736)

    * Overall performances seem to have decreased (#5513)

This PR restores sdk2.2.1 (as in core-2.4.2).

SDK-pre-3.0 - which has brought long awaited fixes (WiFi sleep modes) - is still available through a menu option available only with generic board.

BREAKING

    * new define `-DNONOSDK221=1` or `-DNONOSDK3V0=1`

    * for external build systems: new library directory: `tools/sdk/lib/<version>/lib`

    * PIO: variable `PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3` is needed for sdk-pre-v3.


Fix #5736
2019-02-19 13:10:49 +01:00
f42bfdfc0d adaptations for lwIP-v1.4 (#5682)
* adaptations for lwIP-v1.4
* add lwIP-v1.4 in CI
2019-01-28 22:31:59 +01:00
7c5be91430 dynamic WiFi.hostname("newname") (#5652)
* dynamic WiFi.hostname("newname")

* WiFi.hostname() back to String return type

* no silent hostname fix but proceed with debug message and returning false
2019-01-24 17:13:20 -03:00
dd6333ee8b Add support for String args to softAP and begin (#5295) 2018-12-22 22:48:31 -03:00
34e90f3c56 fix bug. in sta mode, empty passphrase should not use secure auth mode (#5516)
* in sta mode, empty passphrase should not use secure auth mode

* use nullptr, camelCase and parenthesis
2018-12-18 10:47:25 -03:00
4941711505 Implement for ssid a similar approach as for passphrase (#5411)
* Implement for ssid a similar approach as for passphrase

* Additional fixes for 32-char ssid
2018-12-02 21:25:13 -08:00
5c4db3acf4 IPv6 on esp8266-nonos-sdk and arduino (#5136) 2018-11-27 23:07:47 +01:00
cd05bae0e8 Pass string objects by reference (#5378) 2018-11-25 11:18:44 -03:00
5d573652e4 Check for WEP when setting authmode (#5364)
* check if wep is enabled when setting authmode

* add requested changes
2018-11-22 18:19:37 -02:00
56627338cc Set authmode if passphrase is provided (#5317) 2018-11-07 23:52:53 -03:00
8ef21ca3ae Update to the last version of nonos-sdk V2, WiFi addons (#5210)
* fwupdate

* fw update to latest version:
WPA working, WEP+Open disabled by default. Need API change.

* helpers to follow sdk updates

* remove compare scripts - made a separate PR for them

* add wep api, restore original espressif comment (wep enabled does not prevent wpa)

* libmain was not up to date

* experimental: DTIM setting in WiFi.setSleepMode(WIFI_LIGHT/MODEM_SLEEP, DTIM-value)
with new getter: .getListenInterval() / .isSleepLevelMax()

* fixes

* fix debug message

* when not using listenInterval, set wifi sleep level to min

* update documentation

* update doc
2018-10-09 10:21:23 -03:00
85e68093e9 Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system (#5018)
Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system 

* enable dot_a_linkage on internal libraries
* add device tests
* boards generator: deprecate --noextra4k/--allowWPS and fix documentation
2018-08-20 14:35:52 +02:00
e486887f18 optionally allow WPS (#4889) 2018-07-06 16:45:25 +02:00
836c7da8cc adds getautoreconnect() (#4359) 2018-03-16 01:15:30 -03:00
0643d6e7ab Bugfix/persistentchecks (#3798)
* persistent check fixes

fixes assumtions that persistent matches current configs, and prevents changes when such conditions exist

* oops

* fix code compliance block scoping
2018-03-08 23:55:09 -03:00
1349bafd83 [WIP] ESP8266WiFi: initialize new fields, remove old workaround (#4413)
* ESP8266WiFi: initialise new STA configuration fields

* ESP8266WiFi: remove workaround for wifi_station_ap_number
2018-02-28 17:21:32 -03:00
64885fd5cf minor cosmetics (dead code, -Wallextra) (#4274) 2018-02-07 01:34:46 +01:00
b08ff10269 Rework of arduino compatibility in WiFiSTAClass::config (#4145) 2018-01-17 15:30:24 -03:00
02259a412c fixed support for psk in WiFiSTA, added support for psk to WiFiMulti, minor code cleanups (#4076) 2018-01-10 23:15:24 -03:00
9dcc580aef Add compatibility check for ::config() method with arduino arg order (#3860) 2017-11-22 10:22:11 -03:00
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
db5e20f237 proposal for issue #1845 wifi_wps_status_cb get an undefined status 4 and missed wifi_wps_disable (#2312) 2016-08-01 11:46:29 +08:00
b4490cd76d Fix issue when WiFi.begin(ssid, pass) is called right after WiFi.mode(WIFI_OFF)
If ssid and pass matched the values in flash, wifi_station_connect was not called and no connection was attempted
2016-06-14 13:07:08 +08:00
00065ac347 Allow DHCP client to be re-enabled using WiFi.config(0U, 0U, 0U) (#1896) 2016-06-12 14:44:15 +08:00
f2fb43cabf Prevent WiFi config corruption (#1997 #1856 #1699 #1675) 2016-05-10 15:27:06 +08:00
1b8f6d2e8e Allow PSK instead of passphrase in WiFiSTA::begin
In WPA protocol, the maximum length of the passphrases are 64 characters in order to distinguish them from the actual PSK who is 64 ASCII characters long, so in most systems if a 64 chars string is passed, it is assumed to be a PSK, otherwise is treated as a passphrase and is used to compute the PSK.
2016-04-03 03:31:57 +02:00
db4076fd41 add more debug for disconnect
add isConnected function for easier usage
2015-12-30 17:40:36 +01:00
4a68612af8 add API for connect / reconnect management 2015-12-29 21:01:48 +01:00
293e55c690 check for WiFi pass < 8 (not allowed for WPA2)
simplify STA config and allow setting of second DNS server for fallback
code style
2015-12-29 15:28:29 +01:00
640d0bb65e improve error handling and return values 2015-12-29 15:00:47 +01:00
fd443d4e17 split ESP8266WiFiClass in different sub classes for better overview. 2015-12-29 14:03:15 +01:00