Commit Graph

524 Commits

Author SHA1 Message Date
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
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
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 21b77bd668 Remove dead link to fix RTD build 2018-09-17 20:33:44 +02: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