Commit Graph

601 Commits

Author SHA1 Message Date
Terry Ellison 6d9c5a49a4
Example Lua module for coroutining (#2851) 2019-07-26 16:43:56 +01:00
Nathaniel Wesley Filardo 9f8b74debd MQTT tweaks (#2822)
* mqtt:connect() secure parameter should be boolean

Continue to honor the old 0/1 values, but make them undocumented and add
a deprecation warning to the code and docs.  Eventually, this should go
away.

* mqtt: rip out deprecated autoreconnect

* mqtt: expose all the callbacks via :on
2019-07-16 11:30:41 +02:00
Marcel Stör 0398c3360b
Save the post data in a file on the filesystem (#2810)
* Use cross-browser JS for query params in EUS

* Update EUS doc to explain how to use parameters

* Remove ; in Lua code

* Rewrite the endpoint table

* Do not use properties as global Lua variables

* remove enduser_setup.html.gz

* rename folder 'eus' to 'enduser_setup'

* Change input type for password to "password"

* Replace outdated captive portal screen shot
2019-07-08 21:48:16 +02:00
Marcel Stör 93b1a2dce9 Add aka titles 2019-06-22 22:55:54 +02:00
Marcel Stör dd3e0ed988 Small fixes 2019-06-22 00:39:14 +02:00
galjonsfigur 16f75e996a Updated LFS introduction (#2807) 2019-06-22 00:20:36 +02:00
Terry Ellison 5f147a7352
Baseline version of Pipe library (#2797) 2019-06-19 15:16:17 +03:00
galjonsfigur a9256aec8b Fix issue #2753 and fix documentation example (#2776) 2019-06-01 18:05:19 +02:00
Nikolay Fiykov 5f43a414e7 Add pwm2 module (#2747) 2019-05-25 22:08:13 +02:00
Terry Ellison bc61528db7
1st Tranch of SDK 3.0 follow up changes (#2732)
1st Tranche of SDK 3.0 follow up changes
2019-05-01 18:29:11 +01:00
Arnim Läuger 530c353ff8
Update u8g2 to v2.25.10 (#2735)
* Upgrade u8g2 and add updateDisplayArea bindings

* u8g2 2.25.10

* add displays for 2.24.3 and 2.25.10

* remove workaround for hal pointer and make use of u8x8's user_ptr

* fix doc

* add binding for `updateDisplay()`
2019-04-28 15:45:04 +02:00
Marcel Stör 37f8f6a04a Small overhaul
Fixes #2724
2019-04-19 16:04:10 +02:00
Terry Ellison c3e24436f2
Lua string optimisation in file.c + get/put contents methods (#2717)
* Lua string optimisation in file.c + get/put contents methods

* Doc fix: move putcontents() into correct alphabetic order slot in list of static methods
2019-04-11 22:17:00 +01:00
Terry Ellison 528973548c fix EM:0 error, and other memory leaks, plus minor typos in doc 2019-04-05 18:23:13 +01:00
Terry Ellison 9a47107920
SDK 3.0 release (#2692)
* Rebaseline firmware to non-OS SDK version 3.0
* Note that SDK version 3.0 introduces the concept of a Flash Partition Table(PT).  This is located at Flash offset 0x10000 in our firmware build.
* The firmware is now PT aware with both LFS and SPIFFS taking their partition size and location from the PT
* A new tool `tools/nodemcu-partition.py` is now used to initialise these data and can also download LFS and SPIFFS images to these partitions.
2019-04-05 16:01:45 +01:00
Nathaniel Wesley Filardo b6cd2c3edd Remove moribund C ds18b20 module (#2492)
Just use Lua speaking OW (via C) instead.
2019-04-05 15:55:07 +01:00
Natalia ab61e9c03a I2C sw driver with support of multiple buses, Slow, Fast, FastPlus, and user-defined speed selection (#2465)
* I2C driver speed-up, i2c.SLOW, i2c.FAST and user-defined speed selection

* - Multiple buses (up to 10) with different speeds on each bus
- Standard(Slow, 100kHz), Fast(400kHz) and FastPlus(1MHz) modes or an 
arbitrary clock speed
- Sharing SDA line over multiple I²C buses to save available pins
- GPIO16 pin can be used as SCL pin, but it does not support clock 
stretching and selected bus will be limited to FAST speed.

* Dynamic memory allocation, error checks, simplification, timing tweaks.

* Separated the code of old driver for better compatibility and simplicity

* Change of driver interface

* Add bus status check in setup(); simplify getDC(); remove unnesessary lines in ACK read/write

* Fix for moved doc file and trailing whitespaces
2019-04-05 06:56:11 +02:00
Terry Ellison 4905381c00 Resolve merge conflict on docs/index.md 2019-04-04 13:29:22 +01:00
Marcel Stör 38262e995a
Fix WiFi example 2019-03-09 13:46:30 +01:00
Marcel Stör 5032483a17 Dummy modification to test webhook 2019-02-18 10:48:55 +01:00
Marcel Stör 3119b64d26 Remove self-managed PyFlasher screen shot 2019-02-17 20:40:54 +01:00
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