Commit Graph

1030 Commits

Author SHA1 Message Date
Nathaniel Wesley Filardo c972d86ea9 Update to sdk 2.2
Initial commit for
https://github.com/nodemcu/nodemcu-firmware/issues/2225 .

Replay patches from Espressif's repository at
https://github.com/espressif/ESP8266_NONOS_SDK between tags v2.1.0 and
v2.2.0:

	0001-sync-from-ccca00f2.patch

		Superseded by existing changes, but lines reordered in app/driver/key.c
		to minimize divergences.

	0002-sync-from-3f38ad5a.patch

		Upstream files only

	0003-Update-links.patch

		Not meaningful to NodeMCU

	0004-sync-from-01990ad0.patch
	0005-sync-from-cdf6877d.patch

		Upstream files only

	0006-sync-from-f29e744c.patch

		Upstream files only, user_interface.h override non-conflicting

	0009-feat-lwip-Move-lwip-source-code-to-third_party-folde.patch

		Merged change to lwip/app/espconn_udp.c; rest is just moves or
		appears to not apply.

	0010-feat-mbedtls-Add-mbedtls-source-code-in-third_party-.patch

		Does not apply; we use our own mbedtls

	0011-added-C-support.patch

		Merged to Makefile

	0012-feat-mbedtls-Rebuild-libmbedtls.patch

		Already applied

	0013-fix-at-Fix-some-bugs-of-AT.patch

		Upstream files only

	0014-feat-err_t-Redefine-err_t-to-s32_t.patch

		Merged to app/include/arch/cc.h and ./app/include/lwip/app/espconn.h;
		the rest is upstream files.

	0015-fix-wpa-Fix-wpa-wpa2-ptk-gtk-reinstallation-vulnerab.patch
	0016-fix-wifi-Remove-group-key-entry-before-connecting-to.patch
	0017-feat-lib-Remove-time-function-in-libmain.patch

		Upstream files only

	0018-feat-espconn-Modification-for-espconn.patch

		Merged to app/include/lwip/app/espconn.h,
		app/include/lwip/app/espconn_tcp.h, app/lwip/app/espconn.c,
		app/lwip/app/espconn_tcp.c

	0019-feat-at-Use-new-espconn_recv-to-fix-tcp-server-issue.patch
	0020-feat-examples-Update-mqtt-demo-and-auto-bin-generate.patch

		Upstream files only

	0021-wifi-Add-scan-threshold-and-dwell-time.patch
	0022-feat-wifi-Add-country-code-API.patch
	0023-feat-wifi-Record-more-information-of-scanned-ap.patch

		Upstream files only, user_interface.h override non-conflicting

	0024-fix-example-Fix-IoT_Demo-user-sector-error.patch

		Upstream files only

	0025-fix-lwip-Fix-sequence-number-error-of-RST-ACK.patch

		Merged app/lwip/core/tcp_in.c

	0026-fix-mbedtls-Fix-memory-leak.patch

		Merged app/mbedtls/app/lwIPSocket.c

	0027-fix-mbedtls-Fix-call-send-callback-function-failed.patch

		Merged app/mbedtls/app/espconn_mbedtls.c

	0028-feat-Add-USE_OPTIMIZE_PRINTF-in-third_party-Makefile.patch

		Merged app/Makefile

	0029-fix-api-Fix-ets_delay_us-declaration.patch

		Upstream files only, osapi.h override non-conflicting

	0030-fix-wifi-Remove-max_tx_power-in-wifi_country_t-in-li.patch
	0031-fix-wifi-Fix-softAP-wrong-behavior-after-call-system.patch
	0032-fix-wifi-bugfix-of-scan-fail-after-connected-if-max-.patch
	0033-feat-at-Enable-scan-time-scan-type-and-add-scan-resu.patch
	0034-feat-at-Add-command-AT-CWCOUNTRY.patch
	0035-fix-at-Fix-that-AT-CIPSTART-causes-busy-if-the-serve.patch

		Upstream files only

	0036-feat-mbedtls-Speed-up-mbedtls-handshake-process.patch

		Merged app/mbedtls/app/espconn_mbedtls.c

	0037-fix-api-Fix-os_calloc-declaration.patch

		Merged app/include/lwip/mem.h; sdk-overrides/include/mem.h
		non-conflicting.

	0038-fix-mbedtls-Fix-disconnect-callback-function-never-b.patch

		Merged app/mbedtls/app/espconn_mbedtls.c; minor revision to logic in
		6576af959b.  Whitespace fixes.

	0039-feat-at-Add-country-code-start-channel-in-AT-CWCOUNT.patch
	0040-fix-net80211-Fix-Null-pointer-in-ieee80211_rfid_locp.patch

		Upstream files only

	0041-feat-wifi-Add-new-esp_init_data_default-v08-bin.patch

		Upstream files only, but impacts Makefile

	0042-fix-mbedtls-Fix-load-cert-fail-when-the-private-key-.patch

		Merged app/mbedtls/app/espconn_mbedtls.c

	0043-fix-wifi-The-start-channel-can-be-any-valid-channel.patch
	0044-fix-wifi-Fix-scan-do-not-start-after-connect.patch
	0045-feat-wifi-Add-keep-connection-for-station-to-keep-co.patch
	0046-feat-at-Update-AT-version-to-1.6.0.0.patch
	0047-fix-at-Fix-GSLP-too-long-time.patch
	0048-fix-at-Fix-the-message-is-incorrect-when-creating-UD.patch
	0049-feat-at-Add-AT-CIPSERVERMAXCONN.patch

		Upstream files only

	0050-feat-system-Add-softap-distributes-station-ip-event.patch

		Upstream files only, user_interface.h override non-conflicting

	0051-feat-example-Use-libmbedtls.a-instead-of-libssl.a-in.patch

		Upstream files only

	0052-feat-mesh-Remove-mesh-support.patch

		Upstream files only, but go ahead and remove comment from
		ld/nodemcu.ld.

	0053-fix-example-Fix-forget-to-add-integer-parameter-when.patch

		Upstream files only

	0054-fix-mbedtls-Fix-reconnect_callback-is-not-triggered-.patch

		Merged app/mbedtls/app/espconn_mbedtls.c

	0055-feat-at-Add-AT-SYSMSG-to-enable-some-report-informat.patch
	0056-fix-at-Fix-the-incorrect-link-id-when-client-connect.patch
	0057-fix-at-Fix-the-bug-that-it-should-be-error-when-the-.patch
	0058-fix-smartconfig-Fix-the-smartconfig-scan-time-issue.patch
	0059-fix-lwip-Fix-the-bug-of-lwip-output.patch

		Upstream files only

	0060-fix-lwip-Fix-the-length-of-TCP-data-in-one-packet-is.patch
	0061-fix-lwip-Fix-send-TCP-data-with-two-or-more-pbuf.patch

		Merged app/lwip/core/tcp_out.c

	0062-fix-wifi-Fix-assert-happen-when-smartconfig-start-th.patch

		Upstream files only

	0063-fix-mbedtls-Fix-memory-leak-when-ESP8266-as-SSL-TLS-.patch

		Merged app/mbedtls/app/espconn_mbedtls.c

	0064-fix-mbedtls-Fix-already-freed-and-exception-bug-when.patch

		Merged app/mbedtls/app/lwIPSocket.c

	0065-fix-at-Fix-bug-that-there-is-no-result-when-sending-.patch
	0066-feat-example-Add-AT-bin-version.patch
	0067-feat-version-Update-version-to-2.2.0-and-add-version.patch
	0068-feat-bin-Update-AT-bin-for-SDK-2.2.0.patch

		Upstream files only

Apply local changes to build:

	app/include/lwip/app/espconn.h pulls changes (and license decl) from
	upstream SDK.  Makefile is altered to use this file ahead of the
	SDK's.

	Remove lwip's sntp support, since it was never really wired in anyway.
	See https://github.com/nodemcu/nodemcu-firmware/issues/2042 for more
	information.  Patch Makefile to strip time.o, the consumer of lwip's
	sntp functionality, from libmain.a, resulting in much
	easier-to-understand error messages.

	This has consequences for mbedtls.  The simplest thing to do, which is,
	impressively, not a change in behavior, is to completely disable TLS
	certificate time validation; a later patch can optionally couple this to
	RTCTIME support.

	Similarly, it happens that the sqlite3 import was calling time(), but
	this was not going to work out well for it.  Just stub it out to always
	return unix timestamp 0, as would have happened anyway.

Changes unprocessed:

	0007-sync-from-080c37e1.patch
	0008-feat-lib-Compile-some-libraries-with-ffunction-secti.patch

		These two make changes to the linker script; perhaps
		they are worth porting over, but I have not done so
		here.

This is build-tested (ADC, BIT, COLOR_UTILS, CRON, CRYPTO, DHT, ENCODER,
FILE, GPIO, HTTP, I2C, MQTT, NET, NODE, OW, PCM, PERF, PWM, RTCFIFO,
RTCMEM, RTCTIME, SNTP, SPI, SQLITE3, STRUCT, TLS, TMR, UART, WIFI,
WS2812, WS2812_EFFECTS) and boots, but only limited run-time testing has
been performed.  Testing done does, however, include having made a few
TLS connections through the HTTP module, so things are not hopelessly
broken, at the very least.
2018-03-13 19:28:11 -04:00
Arnim Läuger 4367e6e9e0 remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
Luiz Felipe Silva c7673b0224 Merge remote-tracking branch 'upstream/dev' into dev 2018-03-12 00:02:32 -03:00
Nathaniel Wesley Filardo 5c8af3c452 Update mbedTLS to 2.7.0 (#2267)
* mbedtls 2.7.0 (mbedtls-2.7.0-0-g32605dc8)

Wholesale import, with a few changes from earlier preserved through.
Ideally we would soon get to the point of having no divergences from
upstream.

* tls: add function to adjust mbedTLS debug level
2018-03-03 23:28:26 +01:00
Luiz Felipe Silva ba9a938e36 Removing large number of defines inside makefile, exporting them to a file 2018-03-03 08:49:52 -03:00
Philip Gladstone f2d605d27c Fix SNTP so that it retries DNS lookups if it needs to (#2283) 2018-03-01 23:57:55 +01:00
Arnim Läuger 4a47382e0f align wifi.sta.config table elements connected_cb and disconnected_cb with doc (#2282) 2018-03-01 11:50:14 +01:00
Philip Gladstone 76ae04f8a7 Fix problem with gpio.input (#2281) 2018-02-28 20:23:35 +01:00
Philip Gladstone 97e34ce520 Fix a number of issues with the gpio.pulse family of functions (#2260)
* Fix some subtle timing issues with gpio.pulse
* Add the pulse:update method
* Allow getstate to work on stopped pulsers
* Make gpio.mode(, gpio.OUTPUT) actually set the output mode
* Added some more documentation
2018-02-23 23:12:23 +01:00
Frank Exoo e9ed1a8c59 Disable MQTT connect error callback after successful connection (#2262)
Disable the error callback of mqtt.client:connect() after a successful connection.
This will prevent this function to be called after a future disconnection.
Instead the "offline" function is called.
2018-02-13 09:25:20 +01:00
Arnim Läuger 1a39a9f14a disable (and clear) unexpected interrupts (#2234) 2018-02-13 09:17:22 +01:00
Frank Exoo ba36cb3d2d MQTT re-connect issue (#2256)
Fix to start sending PINGREQ after a reconnect.
2018-02-09 08:13:24 +01:00
Pawel Jasinski 2a944026c5 introduced sign into read and startread (#2246)
in float build, uV and sign are included in mV
in int build, uV and mV are absolute, sign is -1, 0, 1
added rounding of uV values
added optional test function
2018-02-07 21:29:17 +01:00
Arnim Läuger e3807bd439 enforce single source for SSL buffer size (#2248) 2018-02-07 21:27:01 +01:00
Pawel Jasinski f87d68ff8f added support for ads1015 (#2231)
* ads1015 is supported, up to 4 devices can be connected at the same time

* removed debug, updated documentation

* changed to oop API

* added __gc to handle active timer cleanup

* reworked argument validation and error reporting

* stack is no longer messed up after __del
2018-01-29 22:21:16 +01:00
Konrad Hübner ed56d949ee ws2812 effects library (#2215)
* ws2812 effects and color utils modules added

* Added documentation for new modules to mkdocs.yml

* changed mode option to string, documentation, default modules fixed

* updated user_modules.h
2018-01-23 21:05:04 +01:00
devsaurus a0ea61f595 remove inline declarations 2018-01-20 19:42:55 +01:00
devsaurus d0c55876c8 initialize task ids only once at module open 2018-01-14 21:21:32 +01:00
Luiz Felipe Silva df930c2d03 Add sqlite3 module (#2008)
* add final sqlite3 patch
* remove unused defines, join caching code with esp vfs code to reduce exported symbols and shrink final file size
* Modules should by default be disabled and in alphabetical order
2018-01-10 22:45:56 +01:00
Nathaniel Wesley Filardo 6576af959b Update mbedTLS (#2214)
* mbedTLS update
* mbedtls: vsnprintf macroification
* Further update mbedTLS to 2.6.1
* mbedtls: make debugging work again
* Silence SSL messages on normal teardown
* Drop DTLS support from mbedtls
2018-01-10 21:48:36 +01:00
Arnim Läuger fc2f325029 add missing NULLification of serout.delay_table after luaM_freearray() (#2220) 2018-01-10 21:25:35 +01:00
Philip Gladstone ceadd30bca Add support for the wifi monitor mode in the SDK (#2204) 2018-01-10 21:24:41 +01:00
Philip Gladstone 77fe51050a Addition of gpio.pulse functions (#2190) 2018-01-10 21:08:39 +01:00
Johny Mattsson 452778eda8 Fix batch multi-line UART input discarding all but first line (#2217)
* Only load a single non-empty line from the uart at a time.

* Don't fall behind in processing of uart buffer.
2018-01-04 22:50:39 +01:00
Pawel Jasinski 05b0a0134c host field in HTTP header is no longer limited to 31 charcters (#2210) 2017-12-25 21:47:45 +01:00
Carlos Bastos Filho 442e3e2e6c
Update file.c
Buffer size of funtion readline is wrong  (Line 480)
Should be FILE_READ_CHUNK = 1024 bytes instead 256 bytes
2017-12-19 15:32:23 -02:00
Philip Gladstone 9aebc84b72 Add support of counting of interrupts (#2149)
* Add support of counting of interrupts

* Update the timestamp when interrupt happens during dispatch. Also
clear out interrupts when setting up a new callback
2017-12-17 21:42:54 +01:00
Philip Gladstone 11c47fa17a New version of spiffs (#2172) 2017-12-03 13:14:22 +01:00
Philip Gladstone ef91580c7b Addition of a Bloom Filter object (#2176)
* Initial checkin
* Add bloom.md into mkdocs
* Added reset and improved info
* Update bloom.c
* Update bloom.md
* Add Wikipedia link
2017-12-03 13:10:59 +01:00
Lukáš Voborský 87a6a9bdb9 Add BME680 module (#2151) 2017-11-19 20:49:07 +01:00
Mark Deneen 4af68d8360 WiFi method to adjust maximum TX power (#2171) 2017-11-19 20:00:20 +01:00
Philip Gladstone 5ece2fda20 Another dsleep fix (or rather a not-deep-sleep case) (#2155)
* Make the rtc variables not be cleared by the .bss initialization
* Move the save to the right place
* Make sure that we reset the rtctime to 0 if we didn't sleep properly.
* Setting the seconds to zero doesn't update the dsleep calibration
2017-11-03 17:50:10 +01:00
Philip Gladstone 0f7716297c Make the CRON module work reliably (#2153) 2017-10-30 11:05:41 +01:00
Terry Ellison ffc914dad0
Merge pull request #2152 from pjsg/fix-no-int
Make it build without INTERRUPT_ENABLE
2017-10-29 18:19:40 +00:00
philip f17b5ebf59 Make it build without INTERRUPT_ENABLE 2017-10-29 10:35:24 -04:00
Johny Mattsson 4a91464467 Fixed broken wifi.sta.{dis,}connect() with event mon enabled. (#2098) 2017-10-28 23:23:15 +02:00
Philip Gladstone 1a6e83d088 Fixes problems with time not preserved through dsleep (#2148)
* Make the rtc variables not be cleared by the .bss initialization
* Move the save to the right place
2017-10-28 22:16:09 +02:00
Nathaniel Wesley Filardo 5c8619eb4d ws2812 mix: add all, then divide (#2032)
This achieves rounding between multiple summed frame buffers
2017-10-22 19:20:45 +02:00
Suraj151 aebfd1a907 Swap reading y and z values (#2137) 2017-10-16 14:51:24 +02:00
Johny Mattsson 3e60fa8f60 Fix data loss in TCP streams. (#2097)
* Fix data loss in TCP streams.

* Factored out the UDP extra args handling.
2017-09-28 22:41:22 +02:00
dnc40085 7946deadab Added boolean return value for wifi.sta.sethostname (#2079)
- simplified wifi_change_default_host_name
- refactored code that checks hostname for compliance
2017-09-15 22:38:35 +02:00
Philip Gladstone e4d010e1c0 Handle doublequotes in strings. (#2104) 2017-09-15 22:25:13 +02:00
Nathaniel Wesley Filardo f9e0aab200 cron: don't include rtctime_internal.h (#2084)
That file is supposed to only be included once because it does things
like declare static globals.  As it stands, cron doesn't believe time is
ticking.

Fixes #2080
2017-08-24 21:17:31 +02:00
Nathaniel Wesley Filardo fe032edd9c Add %p to libc's debug printf (#2062) 2017-08-16 21:38:10 +02:00
fetchbot d079b842a8 add ds18b20 module (#2003)
* add ds18b20 module
* add intitial eeprom value definition
* adjust read() function and address handling
2017-08-16 21:04:23 +02:00
dnc40085 c9e8621821 fix for travisCI 2017-08-05 14:46:14 -07:00
dnc40085 295e640a7a Comment out pmsleep and timer_suspend options in user_config.h
for master drop
2017-08-05 14:05:26 -07:00
Johny Mattsson e09e830d4b Fixed alignment assumptions in SHA2 update. (#2034)
Unaligned loads are a no-no on many architectures, the ESP8266 included.
2017-07-31 14:12:34 +02:00
Philip Gladstone d93465cd86 Add tracking and control of the rate error in the clock crystal. (#1697)
* Improve RTC timekeeping -- includes clock rate tracking
* Improved division by 1M
* Fix crash in sntp
* Disable RTC debug
* Get the offset correct
* Add comments on where the mysterious numbers came from
* Fix a crash with auto repeat mode and errors on repeat
2017-07-18 22:51:20 +02:00
Johny Mattsson 864bcdbd89 Merge pull request #2038 from pjsg/spiffs-blocksize
Fix the SPIFFS blocksize issues
2017-07-12 11:15:25 +10:00
dnc40085 9edcce5b44 Update wifi.sta.config to save configuration to flash by default (#1998) 2017-07-08 22:51:33 +02:00
dnc40085 2e33abe198 Modify wifi.sta.get*config() to return AP's MAC (#2026)
* Modified wifi.sta.get*config() to return AP's MAC even if bssid_set==0
* Improved documentation for wifi.sta.getapinfo, fixes #2025
2017-07-08 22:49:02 +02:00
philip 761c9dff7f Try to fix the blocksize issues 2017-07-06 23:18:06 -04:00
Johny Mattsson c01f653736 Unbreak build when SPIFFS_CACHE==0. (#2028) 2017-07-05 18:00:26 +02:00
Johny Mattsson 0c315ed0ef Merge pull request #2024 from DiUS/sjson_undefined_symbol_fix
Sjson undefined symbol fix
2017-07-04 14:21:41 +10:00
Johny Mattsson ea4d33715f Cleaned up sjson module build.
- Move jsonsl build to regular library build rather than #include the .c file
- Provide wrappers for malloc/calloc/free to fix undefined symbol warnings.
2017-07-03 13:35:45 +10:00
Gregor Hartmann 15b4fa24fd Call HTTP callback in all cases (#2020)
* fix 2007 Call callback in all cases, call callback with errorcode -1 if no connection could be establioshed
* change logging from ERR to DEBUG
* make debug output more clear (hopefully)
* add handling of errors to docs, note error handling on every call instead of only in the main documentation
2017-07-01 18:29:54 +02:00
dnc40085 e2fc37fa17 Removed code allowing argument style station configuration (#2018) 2017-06-29 22:05:40 +02:00
Arnim Läuger 435a4cf5a1 backport fix for https://github.com/espressif/esp-idf/issues/631 (#2006)
* backport fix for https://github.com/espressif/esp-idf/issues/631
* remove code from intermediate fix
2017-06-20 21:59:12 +02:00
Philip Gladstone 438f1609f6 Only handle errors if we have not parsed a complete object (#1999)
* Only handle errors if we have not parsed a complete object
* Fix typo which means that \n was not an ending character
2017-06-18 08:20:26 +02:00
Arnim Läuger 216b820d08 Ensure standard DHCP message length when sending response to clients (#1985) 2017-05-25 13:59:45 +02:00
dnc40085 e90ffb4266 Add mcp4725 module (#1966) 2017-05-21 16:30:26 +02:00
dnc40085 169cb69ee2 Add event callbacks to wifi.sta.config() and wifi.ap.config() and more (#1903)
* Add event callbacks to wifi.sta.config() and wifi.ap.config() and more

Added option to register event callbacks during configuration of both
station and AP.
Added option to register event callbacks to `wifi.sta.connect()` and
`wifi.sta.disconnect()`

* Add note about event registration to wifi module documentation

Other minor changes to wifi documentation are also included

* Add more detail to documentation for wifi.sta.config()
2017-05-21 16:18:56 +02:00
dnc40085 7b1f0223ad Removed wifi station event monitor (#1900)
The following functions were removed:
 - `wifi.sta.eventMonReg()`
 - `wifi.sta.eventMonStart()`
 - `wifi.sta.eventMonStop()`
 
The corresponding documentation has also been removed

This PR addresses issue #1893
2017-05-21 16:17:54 +02:00
Arnim Läuger 7dae5236e6 Deprecate xyz.init() in favor of xyz.setup(), removing inherent i2c configuration (#1887) 2017-05-21 16:17:29 +02:00
Philip Gladstone e7f063950b Update to current version of SPIFFS (#1949) 2017-05-21 16:16:39 +02:00
Arnim Läuger 4e4dfc1d88 Align 8 MB & 16 MB flash sizes with SDK 2.1.0. (#1968)
* align 8MB and 16MB auto flash support with sdk 2.1.0
* remove SAFE_API
* fix flash size mismatch detection logic
2017-05-16 16:50:36 +02:00
dnc40085 447fcd397d Exposed wifi event OPMODE_CHANGED. (#1967) 2017-05-15 09:05:22 +02:00
Arnim Läuger c4516f1a17 Upgrade to SDK 2.1.0. (#1962) 2017-05-11 07:13:23 +02:00
fetchbot faefc09595 add ads1115 module (#1942)
* add ads1115 module

* replace os_delay with os_timer

* typo
2017-05-07 09:49:57 +02:00
fetchbot 8668239640 add si7021 module (#1921)
* add si7021 module

* add settings function for resolution and heater
2017-04-27 23:16:33 +02:00
dnc40085 3e24b1c75b Added deprecation message to wifi.sta.config() for argument style cfg (#1939)
Documentation for the old(argument) style of station configuration was
removed in a previous PR, so I added a deprecation message to inform
developer of the upcoming removal of the feature.
2017-04-26 13:00:34 +02:00
dnc40085 9dbae1c963 Expose UART 1 (#1934)
* Expose UART 1 and update uart module documentation
2017-04-24 22:06:54 +02:00
Metin KOC 9d11543fa9 Hdc1080 Module Add (#1880)
* Hdc1080 Module Add

* for Float/Integer Build fixes

* disable module for default

* document fix

* Deprecate init() in favor of setup()

* Fix grammar and code sample

* Deprecate init() in favor of setup()

* Update hdc1080.md

* Update hdc1080.md

* Mini fix

* Update user_modules.h
2017-04-20 22:23:51 +02:00
Nathaniel Wesley Filardo 332bcb39a3 mqtt: fix several buffer length checks (#1906)
Partially addresses nodemcu/nodemcu-firmware#1773.
2017-04-19 20:16:44 +02:00
tjhowse d777fdc50a Add module for TCS34725 colour sensor. (#1895)
* Add module for TCS34725 colour sensor.

* Fix implicit return.

* Fix timer disarm after init completion callback.

* Rework init() into setup() as per PR#1887.

* Add new module to mkdocs and user_modules.

* Fix unclear debug messages.

* Documentation updates.

* Cleanup comments and formatting.

* Don't auto-enable the sensor.

* Add callback function to enable.

* Simplify Read16.

* Remove Lua state argument to enable callback.

* Remove self_ref.
2017-04-19 20:16:27 +02:00
Marcel Stör b645100d28 Add autoconnect deprecation warning to MQTT code 2017-04-04 22:52:51 +02:00
Philip Gladstone 66ffa6cdc4 Fix the error callback from not being called sometimes (#1683)
* Fix the error callback from not being called sometimes
* Moved the setting of the reconnect status to after the connack is recevied
* Increase the irom0_seg size
* Updated the documentation
* Make it clearer that autoreconnect is deprecated
2017-04-04 22:22:04 +02:00
dnc40085 41a5736d78 Add wifi.suspend() and node.sleep() (#1231)
* Exposed forced sleep API and more
Added timer suspend functionality
* wifi.suspend
* wifi.resume
* node.sleep 
* tmr.suspend
* tmr.suspend_all
* tmr.resume
* tmr.resume_all
* Implement timer suspend functionality
* Fix for uart TX glitch
* Made some modifications to the error reporting
2017-04-04 21:31:06 +02:00
dnc40085 50a5c02119 Deprecate wifi.sta.eventMonReg (#1889)
* Update wifi event monitor documentation

Added a note to `wifi.eventmon.register()` and `wifi.sta.eventmonreg()`
* Add deprecation note to `wifi.sta.eventMonReg()`
2017-03-31 09:48:04 +02:00
Arnim Läuger fc887e9f9f Fix memory leak in file_stat(). (#1871)
* Change vfs_stat() api to pre-allocated buffer for stat info.
* Change vfs_readdir() api to stat buffer as well. vfs_item api removed.
2017-03-29 13:58:40 +02:00
Yury Popov 92cfbb45c3 Cron fixes (#1884)
* Fix cron values >32

* Fix crontab description items order
2017-03-27 08:20:08 +02:00
Philip Gladstone b09cac058a Add support for streaming JSON encoder/decoder (#1755)
Replaces the problematic cjson module.
2017-03-22 11:24:32 +11:00
Frank Exoo d9b3db06f6 Show IP address after enduser_setup (#1867) 2017-03-18 09:45:26 +01:00
Yury Popov 2f00c1d8d9 TIME_WAIT sockets fixes (#1838)
* Enable SO_REUSEADDR for server TCP sockets

* Reduce TCP_MSL to 5 sec

* Add changes notice for future updates

* Move MSL change to lwipiots.h
2017-03-17 07:31:37 +01:00
Johny Mattsson 45ae795739 Extend node.dsleep() to support instant sleep. (#1859) 2017-03-14 10:49:41 +01:00
FrankX b4319bdb4b Add driver for XPT2046 touch controller (#1848) 2017-03-09 07:20:01 +01:00
Yury Popov 466c03d90f Deprecation messages for convenient net.create(Server/Connection) calls (#1844) 2017-03-07 20:50:32 +01:00
Arnim Läuger f5652187a6 use flash size byte to determine the location of the init data for byte 107 (#1827) 2017-03-02 14:48:44 +11:00
Marcel Stör a26969b388 Add generic function to print deprecation notes (#1538) 2017-03-01 12:42:20 +01:00
Arnim Läuger f577c2c080 Sync uart configuration to Tx FIFO level (#1806)
* sync uart configuration to tx fifo level

* poll tx fifo empty before disabling interrupts

* echo parameter is optional for uart.setup()
2017-03-01 12:41:56 +01:00
Arnim Läuger 2168e5185e Apply power selection at the end of the write slot while IRQs are masked (#1808) 2017-03-01 12:41:17 +01:00
Arnim Läuger 8931f09ce4 Fix missing return code for ws2812_init() (#1816) 2017-02-24 21:20:09 +01:00
dnc40085 b382a42057 Fix debug message for wifi.sta.getrssi() (#1814) 2017-02-22 20:59:04 +01:00
FrankX 4dfa5cd7d6 Correct BME280 IIR filter setting (#1787) 2017-02-11 22:53:06 +01:00
Philip Gladstone 00bc9403fe Fix the adjusting of the time when there is a rollover (#1788) 2017-02-09 21:53:12 +01:00
Jason Follas 2ab28df92a Support clearing WiFi config (#1761)
* Add wifi.sta.clearconfig(). Adjust password validation to match 2.0.0 SDK rules (no min length enforced, i.e. for WEP)
* Updat comments about WEP key not having a minimum
* Documentation: add note about node.restore() to wifi.sta.clearconfig() docs, and add SDK verbiage to describe what node.restore() impacts.
* Normaliz if statements
* Convert leading tabs to leading spaces for consistency
2017-02-08 21:42:29 +01:00
Arnim Läuger 416d53eb39 Add string support for spi.set_mosi() and spi.get_miso() (#1753)
clean-up endianess handling in spi driver
2017-02-06 13:55:26 +01:00
Yury Popov 2c8961d153 Add TTL support to net module (#1756) 2017-02-06 13:54:20 +01:00
Arnim Läuger 87e1abfb0f rtctime: change to lua_setfieldfor populating the table (#1746)
Looks good.
2017-01-22 14:17:46 -05:00
ffedoroff a271ce4d34 Invert signal on rfswitch pin (#1738)
Since that code was migrated from Arduino, I should invert pin
2017-01-19 12:46:45 +01:00
FrankX a18826ec54 Accept 64 byte length WiFi passwords (#1730) 2017-01-17 21:55:30 +01:00
Arnim Läuger 305d7c4672 Add file.stat() to query file/directory attributes. (#1724)
* add file.stat()

* set default time/date to 1970-01-01
use lua_setfield
2017-01-17 21:54:23 +01:00
Marcel Stör 0a503587ee Fix typo (#1714) 2017-01-10 21:09:54 +01:00
ffedoroff 52aa1f7e3d Fix typo (#1715) 2017-01-10 21:05:48 +01:00
FrankX 378e5eb0ad Add WPS module (#1694)
* WPS functionality added

* WPS module switched off by default

* Update mkdocs.yml
2017-01-09 08:43:47 +01:00
Yury Popov a592af7ab1 Depend http client secure part on CLIENT_SSL_ENABLE (#1702) 2017-01-04 18:31:32 +01:00
Verne Roberts cad1632e40 Add 31250 baud rate for MIDI support (#1690)
* add 31250 baud rate for MIDI support
* add bitrate to uart_bitrates array for the get operation
2017-01-04 12:31:47 +01:00
Philip Gladstone 9b86937d45 Fix crash in sntp and add more reliable defaults servers (#1682)
* Fix bug in sntp where callback was run at interrupt level. Also add
the nodemcu pool servers as the default.

* Add comments on where the mysterious numbers came from

* Fix a crash with auto repeat mode and errors on repeat
2017-01-01 22:26:17 +01:00
Yury Popov 3adba91b15 Net functionality rewrite on top of LWIP (#1379)
* Rewrite net.dns.resolve on LWIP

* Move IGMP (net multicast) to LWIP

* Cleanup net module

* Move secure connection operations to tls module

* Net module on LWIP

* Server timeout parameter

* TCP hold

* Fixes in documentation

* Documentation fixes

* Note TLS module depends on net

* Add TLS module to user_modules.h

* Callback on connect event

* Fix depends net module on tls module

* Fix unhold exponential time issue
2016-12-31 13:14:03 +01:00
Yury Popov 2b897e56c7 Cron module (#1674) 2016-12-26 14:19:12 +01:00
Arnim Läuger c57af8972f Rework support for >4MB modules: place SPIFFS after SDK data (#1646) 2016-12-26 14:17:57 +01:00
Philip Gladstone 543f438b6b Added node.random implementation (#1665) 2016-12-26 14:14:49 +01:00
Philip Gladstone feab8b2208 Various minor bits of cleanup (#1647)
* Check the return code of the read function when doing crypto.fhash so that we don't pass negative lengths to the hashing functions
*  Fix various assert failures in the LVM arising from rotables. No functional change
* Add the gpio interrupt time to the callback (and pass it from the interrupt handler)
* Get the PC right in the perf module
* Make the headers static in the websocket module
* Fix the documentation
2016-12-25 10:45:34 +11:00
kicer 118acb808e Fix crypto.mask() to encode with correct mask (#1677) (#1678)
Thank you.
2016-12-23 12:03:02 -05:00
Johny Mattsson c5c0143b2f rtctime.dsleep() current draw improvements (#1659)
* Switch off interrupts before rtctime dsleep.

* Deal with the fact that MCU keeps running after being told to enter deep sleep
(It can keep running for quite a few instructions at times (and none at
all at others), and it appears that trying to cache additional code from
SPI flash while trying to go to sleep fails miserably at both....)

* Ensure flash is not active when going into deep sleep.
2016-12-14 12:39:31 +01:00
vsky d56b4ef2e6 BME280: improved reliability and efficiency (#1662)
* BME280: improved reliability and efficiency

* BME280: new parameter to bme280.init() and new bme280.read() method documented
2016-12-11 22:31:39 +01:00
Yury Popov bdd54648f4 Upgrade to SDK 2.0.0 (#1435)
* Update LWIP from SDK
* mbedTLS integration
* Fix argument type in dbg_printf (#1624)
* Migrate to espressif’s download center (#1604)
* Fixed BBS links to firmware
* Adjust net module docs with mbedTLS info
* Remove unrelevant axTLS notice
2016-12-11 21:03:00 +01:00
Philip Gladstone 017b4637c2 Adds uart.getconfig(0) to get the current uart parameters (#1658) 2016-12-11 20:35:04 +01:00
vsky 12a7b1c239 BME280: fixing humidity trimming parameter readout bug (#1652) 2016-12-09 21:19:58 -05:00
Philip Gladstone 79013ae79a Improve SNTP module: Add list of servers and auto-sync [SNTP module only] (#1596) 2016-12-04 21:03:49 +01:00
Arnim Läuger ea7ad21318 move init_data from .text to .rodata.dram section (#1643) 2016-12-04 20:19:51 +01:00
ffedoroff 9f9fee9008 add new rfswitch module to handle 433MHZ devices (#1565) 2016-12-01 22:19:01 +01:00
Yury Popov 83eec61874 Fix iram/irom section contents (#1566) 2016-12-01 22:14:20 +01:00
Philip Gladstone 00b356be84 HTTP module can now chain requests (#1629)
* Fix up the HTTP module to use less memory
2016-12-01 22:13:33 +01:00
Jason Follas a48e88d4a3 EUS bug fixes (#1605)
- Bug fixes and improvements
- FIX: Ensure that station is enabled before doing network scan (this seems to be the cause of #1578)
- FIX: Check if state == NULL on enduser_setup.stop()
- IMPROVEMENT: Look for both enduser_setup.html.gz and enduser_setup.html as valid filenames, for semantic reasons
- IMPROVEMENT: Show a generic status message on HTML page if failure occurred before user even submitted data (i.e., would have come from previously stored config when the STA was started by EUS)
2016-12-01 22:12:47 +01:00
Marcel Stör c54bc05ba6 Fix macro as suggested in #1548 2016-11-19 21:17:50 +01:00
Arnim Läuger c70dc7497e Handle error condition in file.read() (#1599)
* handle error condition in file.read()

* simplify loop initialization
2016-11-19 10:36:00 -05:00
Mariusz Kryński 59b9b3e26f support for custom websocket headers (#1573)
Looks good to me. Thank you.

Also:
 - allow for '\0's in received messages

* add client:config for setting websocket headers

Also:
 - headers are case-insensitive now

* fix docs

* fix typo

* remove unnecessary luaL_argcheck calls

* replace os_sprintf with simple string copy
2016-11-19 10:35:20 -05:00
Marcel Stör 1d0cf5e8d0 Virtual u8g display driver for RFB/VNC support (#1514)
* add u8g.fb_rle display
* move comm drivers to u8g_glue.c
* disable fb_rle per default
2016-11-14 13:40:45 +01:00
zelll 798759950f i2c - allow slave stretching SCL (just loop and check) (#1589) 2016-11-13 10:16:07 -05:00
Arnim Läuger fdc766be9f fix vfs_lseek() result checking in enduser_setup and clarify SPIFFS_lseek() return value (#1570) 2016-11-08 22:27:12 +01:00
Jason Follas 058777ea60 Eus channelfix (#1583)
Squashed commits included:

Bug fixes and final implementation
- Added Content-Length: 0 to all headers
- Endpoint name checks not using trailing space so cache-busting techniques can be used (i.e., append a nonce to the URL)
- Track when connecting so APList scan doesn't take place during (which changes the channel)
- More debugging output added to assist in tracking down some issues

Added /status.json endpoint for phone apps/XHR to get JSON response

Station Status caching for wifi channel workaround + AJAX/CORS
- During checkstation poll, cache the last station status
- Shut down the station if status = 2,3,4 and channel is different than SoftAP
- Add Access-Control-Allow-Origin: * to endpoint responses used by a service
- Add a /setwifi GET endpoint for phone apps/XHR to use (same parameters as /update endpoint). Returns a JSON response containing chip id and status code.
- Add handler for OPTIONS verb (needed for CORS support)

Wi-Fi Channel Issue Workaround
- Do a site survey upon startup, set SoftAP channel to the strongest rssi's channel
- Compare successful station connect channel to SoftAP's. If different, then defer the Lua success callback to the end. Shut down Station and start the SoftAP back up with original channel.
- After the 10 second shutdown timer fires, check to see if success callback was already called. If not, then call it while starting the Station back up.

HTTP Response and DNS enhancements
- If DNS's UDP buffer fills up, keep going as non-fatal. It's UDP and not guaranteed anyways. I've seen this occur when connecting a PC to the SoftAP and every open program tries to phone home at the same time, overwhelming the EUS DNS server.
- Support for detecting/handling pre-gzipped `enduser_setup.html` (and `http_html_backup`) payload. Nice for keeping the size of the `state->http_payload_data` as small as possible (also makes minimization not as critical)
- Corrected misuse of HTTP 401 response status (changed one occurrence to 400/Bad Request, and changed another to 405/Method Not Allowed)

* Normalized formatting (tabs-to-spaces)
* Added documentation
* Corrected misuse of strlen for binary (gzip) data.
* Added NULL check after malloc
2016-11-08 21:58:33 +01:00
Arnim Läuger a0e2e0ca37 Implement object model for files (#1532) 2016-11-08 21:02:51 +01:00
Philip Gladstone b74a9dbdf7 Make the MQTT PING functionality work better. (#1557)
Deal with flow control stopped case
2016-11-08 21:00:17 +01:00
dnc40085 73773fd8a5 Update to the wifi module (#1497)
* Removed inline documentation for several functions and update comments
Since documentation is now part of the repository, the inline
documentation just adds to the already huge wifi.c

* Wifi module: add new functionality, update documentation

Functions Added:
wifi.getdefaultmode(): returns default wifi opmode
wifi.sta.apchange(): select alternate cached AP
wifi.sta.apinfo(): get cached AP list 
wifi.sta.aplimit(): set cached AP limit
wifi.sta.getapindex(): get index of currently configured AP
wifi.sta.getdefaultconfig(): get default station configuration
wifi.ap.getdefaultconfig(): get default AP configuration

functions modified:
wifi.setmode: saving mode to flash is now optional
wifi.sta.config: now accepts table as an argument and save config to
flash is now optional
wifi.sta.getconfig: added option to return table
wifi.ap.config: save config to flash is now optional
wifi.ap.getconfig: added option to return table

Documentation changes:
- Modified documentation to reflect above changes
- Removed unnecessary inline documentation from `wifi.c` 
- Updated documentation for `wifi.sta.disconnect`to address issue #1480 
- Fixed inaccurate documentation for function `wifi.sleeptype`
- Added more details to `wifi.nullmodesleep()`

* Move function `wifi.sleeptype()` to `wifi.sta.sleeptype()`

* Fixed problem where wifi.x.getconfig() returned invalid strings when
ssid or password were set to maximum length.

* fix error in documentation for `wifi.sta.getapindex`

* Renamed some wifi functions
wifi.sta.apinfo -> getapinfo
wifi.sta.aplimit -> setaplimit 
wifi.sta.apchange -> changeap

also organized the wifi_station_map array
2016-11-06 20:51:01 +01:00
Philip Gladstone 77b2e85d09 Add support to mix ws2812.buffer objects. (#1575)
* Add load/dump/mix/power operations on the buffer object
* Calculate the pixel value in mix and then clip to the range.
* Fixed the two wrong userdata types
* Added a couple more useful methods
* Add support for shifting a piece of the buffer.
* Fix a minor bug with offset shifts
2016-11-05 13:53:42 +01:00
Arnim Läuger f0780e399e Add ssd1306_128x32 for U8G (#1571) 2016-10-30 00:19:04 +03:00
Marcel Stör 7c3f76009a Change HTTP failures from debug to error messages (#1568)
* Change HTTP failures from debug to error messages

* Add tag to HTTP error messages

* Create macro for error msg and improve dbg msg
2016-10-29 14:04:23 +02:00
Arnim Läuger 9db07783f4 Remove luaL_buffer from file_g_read() (#1541)
* remove luaL_buffer from file_g_read()
- avoid memory leak when function gets terminated by lua_error
- skip scanning for end_char when reading until EOF
* attempt to free memory in any case
2016-10-28 17:32:12 +03:00
Philip Gladstone 2227383843 Small improvement to http client (#1558) 2016-10-27 14:07:04 +03:00
Philip Gladstone ebb537c502 Version of printf that doesn't suffer from buffer overflows (#1564) 2016-10-27 09:38:47 +03:00
Philip Gladstone 0ee1ab68b0 Improve reliability of FS detection. (#1528)
* Version to make filesystem detection more reliable
* Improve bad fs detection
2016-10-25 22:51:59 +02:00
Arnim Läuger 020afdcf33 avoid task queue overrun for serial input (#1540)
Thank you.
2016-10-17 21:56:38 -04:00
Philip Gladstone f9533ed85a Reduced LUAL_BUFFERSIZE to 256. Should free up some stack (#1530) 2016-10-16 21:18:03 +09:00
vsky 880bd9850b Somfy/TELIS driver (#1521) 2016-10-14 07:49:58 +09:00
Arnim Läuger 101eb201ab add map ids for flash sizes 32m-c2, 64m, 128m in user_rf_cal_sector_set() (#1529) 2016-10-13 16:51:48 +09:00
Arnim Läuger b8e00120b6 fix dereferencing NULL pointer in vfs_errno() (#1539) 2016-10-13 16:48:37 +09:00
Philip Gladstone 025805b0e8 Fixes the gpio.serout problem from #1534 (#1535)
* Fix some issues in gpio.serout
* Minor cleanup
2016-10-11 21:51:00 +09:00
Jim Paris 407eaa45ac Replace hardcoded init data with generated data from SDK
The esp_init_data_default.bin is now extracted from the SDK (and its
patch file, if present), and the contents are automatically embedded
into user_main.o.
2016-10-04 13:11:34 -04:00