Commit Graph

580 Commits

Author SHA1 Message Date
Nathaniel Wesley Filardo 1070466feb Revise fifo{,sock} (#2671)
Fixes to #2650:

- Convert fifosock to returning tables containing ctors
- Improve docs
- Add a missed :on("sent", nil) in the http server
2019-02-17 18:32:16 +00:00
sergio d77666c0e8 trailing spaces cleanup (#2659) 2019-02-17 18:26:29 +00:00
Nathaniel Wesley Filardo dcc1ea2a49 A generic fifo and fifosock wrapper, under telnet and http server (#2650)
* lua_modules/fifo: a generic queue & socket wrapper

One occasionally wants a generic fifo, so here's a plausible
implementation that's reasonably flexible in its usage.

One possible consumer of this is a variant of TerryE's two-level fifo
trick currently in the telnetd example.  Factor that out to fifosock for
more general use.

* lua_examples/telnet: use factored out fifosock

* lua_modules/http: improve implementation

Switch to fifosock for in-order sending and waiting for everything to be
sent before closing.

Fix header callback by moving the invocation of the handler higher

* fifosock: optimistically cork and delay tx

If we just pushed a little bit of data into a fifosock that had idled,
wait a tick (1 ms) before transmitting.  Hopefully, this means that
we let the rest of the system push more data in before we send the first
packet.  But in a high-throughput situation, where we are streaming data
without idling the fifo, there won't be any additional delay and we'll
coalesce during operation as usual.

The fifosocktest mocks up enough of tmr for this to run, but assumes
an arbitrarily slow processor. ;)
2019-02-16 13:51:40 +01:00
Marcel Stör f0a240aa46 Only process relative links on RTD 2019-02-11 22:52:26 +01:00
prog1407 30744afd24 Fix typo in example (parameters were mixed) (#2658) 2019-02-11 09:47:14 +01:00
Mark Schlögel 83cb35da52 Patch 1 (#2646)
Increase http timeout 10s -> 60s
2019-02-05 20:59:35 +01:00
Nathaniel Wesley Filardo 06367cb71c Tell the truth about DNS in TLS module (#2643)
Purge the never-functional :dns() method, but document the DNS callback
in :on().

Fixes #2640
2019-02-02 22:08:21 +01:00
Nathaniel Wesley Filardo 0e89fb24ba Expunge integer timers (#2603) 2019-01-22 22:59:41 +01:00
devsaurus 6f3f1126d6 fix example 2019-01-20 12:46:53 +01:00
galjonsfigur 5d2bb87ceb Updated FatFS from 0.12a to 0.13c (#2608)
Files changed only by the author of FatFS (only updated to new version):

- 00history.txt
- 00readme.txt
- ff.c
- ff.h
- ffunicode.c
- diskio.h
- integer.h
- files in `option` folder except `syscall.c`

Changes:
- removed option folder (now everything is in ffunicode.c)
- modified Makefile to support new version of FatFS
- removed syscall.c and modified ffsystem.c from FatFS author instead
- modified files: diskio.c, ffconf.h to mimic changes from new version
- modified files: fatfs_config.h, myfatfs.c
because of changes of configuration keywords in 0.13 version
- removed empty lines from beginning of files:
fatfs_prefix_lib.h, myfatfs.c, sdcard.c
- changed version number in documentation
2019-01-16 22:30:42 +01:00
Nathaniel Wesley Filardo 6e95d74fbd Update TLS protocol support (#2587)
* Update TLS protocol support

TLS1.0 is past PCI's EOL; BEAST is no more
Enable elliptic curve key exchanges
	Do not enable the smallest ECs for security
	Do not enable the largest ECs for computational time
	Do not enable 25519 (sad) because it doesn't go across the wire
Drop non-PFS key exchanges
Drop ARC4, Blowfish, DES, genprime, XTEA code
Drop renegotiation support completely
	It takes so much heap that it's not likely to work out well

Tidy handling of SSL_BUFFER_SIZE

Update docs
Drop mention of startcom, since they are no more, for letsencrypt

* Update mbedtls to 2.7.7

Preserve our vsnprintf and platform hacks

* Introduce TLS maximum fragment size knob

Reduce buffer size to 4Ki by default and advertize that.  That's the
largest we can advertize with the TLS MFL extension, so there's no
point in making them larger.  The truly adventurous can re-raise
SSL_BUFFER_SIZE and undefine the SSL_MAX_FRAGMENT_LENGTH_CODE and get
back to the earlier behavior.

* Default to mbedTLS debug with DEVELOP_VERSION
2019-01-15 17:02:32 +01:00
Marcel Stör b126c6b2d2 Re-organize documentation
Drop support for localized content, #2213

Restructure some content to match more closely what we have in master, #2542
2019-01-13 22:01:57 +01:00
galjonsfigur 87b3ffa6bd Fix broken links and typos in docs (#2600) 2018-12-28 23:33:26 +01:00
Lukáš Voborský 348b73def1 Minor fix to wifi documentation (#2597)
Another fix
2018-12-23 09:34:26 +01:00
galjonsfigur ebdfd1ff6a Rename http server Lua module and fix its documentation (#2594) 2018-12-19 12:23:14 +01:00
galjonsfigur f5fcd0d984 Recreate and unify documentation for Lua modules (#2592)
* Recreate and unify documentation for Lua modules

* Fix typos in docs

* Added/modified READMES to link to new documentation
2018-12-16 21:39:43 +01:00
andyleap 0a500eb95d Add set clock div (#2572)
* Add spi.set_clock_div

This will allow the SPI clock divider to be changed relatively simply,
to better support multiple devices with varying SPI clock rate support

* Add documentation
2018-12-16 12:07:20 +01:00
esron c4c1f29547 Update lua-developer-faq.md (#2590)
lua-users wiki page for Learning Lua changed.
2018-12-12 22:10:15 +00:00
Arnim Läuger 031fd0a913 Reduce default make verbosity (#2583) 2018-12-09 21:39:43 +01:00
Arnim Läuger 11592951b9
Merge pull request #2582 from nodemcu/dev
Next master drop
2018-12-07 22:47:49 +01:00
Nathaniel Wesley Filardo 61433c448e Deprecate C ds18b20 module (#2581) 2018-12-05 21:38:11 +01:00
Arnim Läuger 47a6ed01b5 Clean up Linux build instructions (#2580) 2018-12-04 22:00:34 +01:00
Johan Ström 2d958750b5 Handle large/chunked/fragmented MQTT messages properly (#2571)
* MQTT: handle large/chunked/fragmented messages properly

If a message spans multiple TCP packets it must be buffered before
delivered to LUA. Prior code did not do this at all, so this "patch"
really adds proper handling of fragmented MQTT packets.
This could also occur if multiple small messages was sent in a
single TCP packet, and the last message did not completely fit in that
packet.

Introduces a new option to the mqtt.Client constructor:
max_publish_length which defaults to 1024

Introduces a new 'overflow' callback.

Fixes issue #2308 and proper fix for PR #2544.

* mqtt.md: clarified heap allocation

* mqtt: ensure ack is sent for overflowed publish

If QoS is used we should still acknowledge that we received it, or server might retransmit it later.
2018-11-30 22:12:46 +01:00
galjonsfigur 1c6894eb02 Fix documentation for gdbstub module. (#2549) 2018-11-08 21:00:37 +01:00
Adriano Melo f5e68157a1 Add examples to the "bit" module documentation (#2528) 2018-11-03 21:45:08 +01:00
Arnim Läuger 67567af959 Submodulify ucg and update to v1.5.2 (#2503)
* turn ucg into submodule
* update ucg to 1.5.2
* add license note to doc
* align docs with esp32
* move ucg hal into platform folder
adapt examples
2018-10-19 21:18:50 +01:00
Marcel Stör ff44b2f015
Add note about GMT/UTC 2018-10-11 23:43:13 +01:00
Arnim Läuger 509be837a8 Update u8g2 to v2.23.18 (#2500)
* Update u8g2 to v2.23.18
* serve wdt for long delays
2018-10-07 21:46:56 +01:00
Bruno Vernay c708828bbe Fix broken link to flashchips.h (#2499) 2018-09-30 20:28:43 +03:00
Terry Ellison 172fb276ca
Add compression to LFS images (#2448)
* Merge of LFS compress, optimize against current dev
* Fixes to LFS compress patch
2018-09-29 16:57:51 +03:00
Marcel Stör 3661b8d5eb Merge branch 'dev' 2018-09-17 20:47:23 +02:00
Marcel Stör 21b77bd668 Remove dead link to fix RTD build 2018-09-17 20:33:44 +02:00
Terry Ellison c54fbcfe8e
Add Getting Started page (#2487) (#2490)
-  Added Marcel's Getting Started page
-  Added reference to getting-started.md
2018-09-17 17:55:11 +01:00
Marcel Stör 9d8246fe52 Add Getting Started page (#2487)
-  Added Marcel's Getting Started page
-  Added reference to getting-started.md
-  Incorporated review findings
2018-09-17 17:36:09 +01:00
Philip Gladstone 91951051af Updated documentation for gpio.pulse (#2485) 2018-09-10 13:17:24 +02:00
Marcel Stör 186fcd7202 Minor MkDocs fixes for 1.x compliance 2018-09-08 00:03:35 +02:00
Natalia 3886d2c765 RC module documentation (#2473) 2018-09-02 16:37:09 +02:00
TerryE 35a2c2676a Reword the Compiling Lua on your PC for Uploading section for LFS. 2018-08-27 01:09:26 +01:00
Terry Ellison add0938d81
LFS documentation and example updates (#2458)
Updates to LFS documentation and the LFS HTTP_OTA module before release to master
2018-08-22 11:09:04 +01:00
Tim Godfrey fe40323ec4 FAQ update for io.write clarification (#2463) 2018-08-18 21:47:03 +02:00
Marcel Stör 4d87e89059 Fix Git spelling and add LFS 2018-08-13 14:56:21 +02:00
Nathaniel Wesley Filardo e896face0c LFS: small tweaks to docs and examples (#2454) 2018-08-11 13:48:46 +02:00
Nathaniel Wesley Filardo fd12be9966 file: list now takes optional pattern for filtering (#2452)
Thanks to @TerryE for many useful suggestions
2018-08-10 16:38:48 +01:00
Marcel Stör 5d7a46aec1 Add LFS chapter
Contributes to #2431
2018-08-06 21:40:07 +02:00
Marcel Stör 7d86fef598 Add LFS links
Contributes to #2431
2018-08-06 21:28:41 +02:00
Marcel Stör eb79f1e79a Improve documentation for wifi.monitor
Fixes #2433, #2434
2018-08-05 17:58:04 +02:00
Terry Ellison c6f6c54bc8
Merge pull request #2184 from devsaurus/u8g2_port
Replace u8glib with u8g2
2018-07-28 22:24:01 +01:00
Marcel Stör 2e202796b8 Fix LFS Markdown syntax
Contributes to #2432
2018-07-23 23:03:28 +02:00
devsaurus 44120d4157 add copyright notice for BSD license 2018-07-22 13:58:02 +02:00
devsaurus eba5d57db7 allow definition of font and display tables in an external file 2018-07-22 13:51:12 +02:00
devsaurus 5f3e210f98 doc clarifications, code alignment with esp32 2018-07-22 13:51:12 +02:00
devsaurus e2d770627e use git clone --recurse-submodules for local builds 2018-07-22 13:51:12 +02:00
devsaurus 15d4311f40 add docs 2018-07-22 13:51:12 +02:00
devsaurus 1f7593538f remove u8g 2018-07-22 13:51:00 +02:00
Lukáš Voborský 3f8faf8e55
Update lfs.md 2018-07-18 22:51:14 +02:00
Lukáš Voborský 36029a08e1
Update lfs.md 2018-07-18 22:46:46 +02:00
Lukáš Voborský c39891f9de
Adding "LFS Quick Start" section 2018-07-16 23:08:08 +02:00
Marcel Stör cb694d59af Add note about Lua mDNS client 2018-07-01 21:28:08 +02:00
TerryE 2ab061f510 merge current dev to resolve update conflcts in node.c 2018-06-22 22:44:19 +01:00
TerryE 4f21224d56 LFS patch updates following review II and testing 2018-06-22 22:29:16 +01:00
dnc40085 dd02faef27 Add function node.getcpufreq() (#2375) 2018-05-20 09:38:33 +02:00
Marcel Stör 53e44d5ece Add reference to deep sleep post for details 2018-04-26 22:56:43 +02:00
dnc40085 6069ebdc90 Update node.dsleep() to support longer deep sleep duration. (#2358)
* Update node.dsleep() to support longer deep sleep duration.
* Updated documentation for node.dsleepMax()
2018-04-26 22:45:24 +02:00
Marcel Stör 5e1ca234cc Fix config reference 2018-04-24 13:58:10 +02:00
Terry Ellison 6db7414270
Merge branch 'dev' into dev-LFS 2018-04-19 16:43:55 +01:00
TerryE 88bd9e01d3 LFS patch updates following review 2018-04-19 16:27:47 +01:00
Marcel Stör f427951f79 Editorial fix 2018-04-18 19:58:20 +02:00
dnc40085 96e5c026a8 Refactor timer suspend portion of node.sleep (pmsleep) (#2287)
* pmsleep refactor
* Shortened swtmr disabled message 
* Added swtimer debug module option to user_modules.h.
* Added comments to user_config.h.
* Fixed error in documentation for node.sleep()
* remove blank sntp.c that got added in during rebase onto dev(6218b92)
* Added #ifdefs around SWTIMER_REG_CB to prevent inclusion of disabled
code
2018-04-13 21:41:14 +02:00
Johny Mattsson 085f35da73 Tie in the EGC with the SDK's heap knowledge. (#2319)
Added `node.egc.meminfo()` to expose LVM usage (to make the regular
`node.egc.ON_MEM_LIMIT` option usable).

Extended the `node.egc.ON_MEM_LIMIT` option to also take negative limits,
in which case that's taken as a request to keep a certain amount of heap
available for non-Lua use.
2018-04-06 14:52:03 +02:00
Marcel Stör 18f33f5ff1 Reformat Lua FAQ
Get rid off (bullet) list where easily possible
2018-04-02 11:00:28 +02:00
Petr Stehlík b81963a86d net socket documentation clarification in FAQ (#2339) 2018-04-02 08:35:34 +02:00
dnc40085 9af4f58417 Added functions wifi.getcountry() and wifi.setcountry() (#2330) 2018-03-31 09:06:18 +02:00
Marcel Stör 98d5b127e0
Fix node.stripdebug level numbers (Lua vs. C)
Fixes #2302
2018-03-28 22:38:44 +02:00
devsaurus 519d6df62c update nodemcu version in README.md, build.md, flash.md 2018-03-24 11:13:13 +01:00
Philip Gladstone c7006dfb27 Ignore lookup errors on sync request unless all lookups fail (#2298) 2018-03-21 07:02:25 +01:00
TerryE 4ae52c232c Alpha working wersion for third party evaluation 2018-03-17 00:43:52 +00:00
TerryE 3d3eebfd67 Turn of x bit on some non-executable source files 2018-03-17 00:43:51 +00: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
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
Marcel Stör c8d2937fd5 Fix invalid table item key
Fixes #2275
2018-02-26 23:21:23 +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
Marcel Stör 1117e9ea65 Add tiny SQLite example 2018-02-15 23:37:11 +01:00
Marcel Stör 0bf035aadc Fix gpio.pulse admonition 2018-02-15 07:10:20 +01:00
Marcel Stör 8d2c523aab Fix WS2812 effects documentation 2018-02-13 12:34:04 +01:00
Marcel Stör f404627428 Mention that PyFlasher now offers .dmg for macOS 2018-02-12 12:58:51 +01:00
Marcel Stör 5c65f2790d Remove custom favicon from docs
All the changes are in preparation for an eventual MkDocs 0.17 upgrade
2018-02-11 23:22:15 +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
Marcel Stör 555b5574a2 Add sjson streaming example
Fixes #2209.
2018-02-04 12:45:27 +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
Marcel Stör 316a5fc566 With RTD the JS search seems no longer necessary 2018-01-21 23:58:58 +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
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
Arnim Läuger 0e491e869f remove guidance to fall back to 1.5.4.1 for 512Kb modules (#2222) 2018-01-10 07:17:12 +01:00
Marcel Stör e0f811dd2b Fix the use of the term "Lua" 2017-12-25 11:40:33 +01:00
Marcel Stör 3747d7cbe0 Minor update flashing docs 2017-12-18 21:54:41 +01: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
Marcel Stör 368c25db8b
Add WiFi mode documentation (#2191) 2017-12-17 15:48:57 +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