2417 Commits

Author SHA1 Message Date
seregaxvm
6499387039 add LiquidCrystal lua module (#2974) 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo
af426d0315 Networking rampage and accumulated fixes (#3060)
* espconn: remove unused espconn code, take 1

This is the easiest part of https://github.com/nodemcu/nodemcu-firmware/issues/3004 .
It removes a bunch of functions that were never called in our tree.

* espconn: De-orbit espconn_gethostbyname

Further work on https://github.com/nodemcu/nodemcu-firmware/issues/3004

While here, remove `mqtt`'s charming DNS-retry logic (which is neither
shared with nor duplicated in other modules) and update its :connect()
return value behavior and documentation.

* espconn: remove scary global pktinfo

A write-only global!  How about that.

* net: remove deprecated methods

All the TLS stuff moved over there a long time ago, and
net_createUDPSocket should just do what it says on the tin.

* espconn_secure: remove ESPCONN_SERVER support

We can barely function as a TLS client; being a TLS server seems like a
real stretch.  This code was never called from Lua anyway.

* espconn_secure: more code removal

* espconn_secure: simplify ssl options structure

There is nothing "ssl_packet" about this structure.  Get rid of the
terrifying "pbuffer" pointer.

Squash two structure types together and eliminate an unused field.

* espconn_secure: refactor mbedtls_msg_info_load

Split out espconn_mbedtls_parse, which we can use as part of our effort
towards addressing https://github.com/nodemcu/nodemcu-firmware/issues/3032

* espconn_secure: introduce TLS cert/key callbacks

The new feature part of https://github.com/nodemcu/nodemcu-firmware/issues/3032
Subsequent work will remove the old mechanism.

* tls: add deprecation warnings

* luacheck: net.ifinfo is a thing now

* tls: remove use of espconn->reverse

* mqtt: stop using espconn->reverse

Instead, just place the espconn structure itself at the top of the user
data.  This enlarges the structure somewhat but removes one more layer
of dynamic heap usage and NULL checks.

While here, simplify the code a bit.

* mqtt: remove redundant pointer to connect_info

Everywhere we have the mqtt_state_t we also have the lmqtt_userdata.

* mqtt: doc fixes

* mqtt: note bug

* tls: allow :on(...,nil) to unregister a callback
2020-06-09 22:26:52 +02:00
Marcel Stör
4a78580d4e Add page about Lua module directory
Fixes #3034
2020-06-09 22:26:52 +02:00
Marcel Stör
a7debe115a Add hint about locally built docs
Fixes #2868
2020-06-09 22:26:52 +02:00
Christo Erasmus
2c18246e1d Update getting-started docs hrefs for LFS examples (#3048) 2020-06-09 22:26:52 +02:00
Marcel Stör
78a0b24eee Fix init.lua link 2020-06-09 22:26:52 +02:00
Marcel Stör
8835512f30 Fix connect() params in example 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo
30f706fb03 WIP: MQTT fixes (#2986)
* mqtt: expose "connfail" callback via :on()

This makes it just like all the other callbacks in the module and is a
revision of behavior called out in
https://github.com/nodemcu/nodemcu-firmware/pull/2967

* mqtt: clarify when puback callback fires

* mqtt: Don't reference stack buffers from the heap

The confusingly-named "mqtt_connection_t" object is just a triple of
  - a serialized mqtt message pointer and length
  - a buffer pointer (to which the above can be written)
  - a message identifier

The last of these must be passed around the mqtt state machine, but the
first two are very local and the buffer is always sourced from the C
stack.  Unfortunately, because the entire structure is persisted in the
heap, some callers assume that they can always use the structure without
reinitialization (see mqtt_socket_close), which will trash the C stack.

Sever the pairing between message id and local state, punt the local
state entirely out of the heap, and rename things to be less confusing.
2020-06-09 22:26:52 +02:00
Alexandru Antochi
1719f90a3b Add Lua module for Gossip protocol (#3013) 2020-06-09 22:26:52 +02:00
Edvinas
56a86c2661 Bugfix conn metatable method call (#3012)
Here `conn` is net.socket instance, so it should be called as one.
Otherwise request is very likely to end up with crash and PANIC.

nwf edited in light of bcb669a4a0a49e857186093eb79b6f27a3158ad7
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo
446c058fa6 net: rename net.if.info to net.ifinfo (#3033)
Reserved words are always reserved in Lua, so let's not have people
typing net["if"]...
2020-06-09 22:26:52 +02:00
Gregor Hartmann
3e84e07d86 Update sqlite3.md (#3042) 2020-06-09 22:26:52 +02:00
galjonsfigur
1cacd9334a Fix timing of softuart module RX (#3029) 2020-06-09 22:26:52 +02:00
Gregor Hartmann
d455f8bc31 Documentation fixes for pipe (#3041) 2020-06-09 22:26:52 +02:00
sergio
fd3f0ddad4 Add flag to disable start-up banner (#3026) 2020-06-09 22:26:52 +02:00
Gregor Hartmann
115d0f88b9 Document tls.cert.auth (#3010) 2020-06-09 22:26:52 +02:00
M.K
3aba085f82 Clarify LFS build info is its size (#3022) 2020-06-09 22:26:52 +02:00
Nikolay Fiykov
2ae9af58fc Expose CPU CCOUNT register as tmr function (#2906) 2020-06-09 22:26:52 +02:00
galjonsfigur
50d88f7731 Fix compile warning and set correct order in module LROT (#2996) 2020-06-09 22:26:52 +02:00
Lukáš Voborský
cd9da6463c Add CRC check (#2992)
Also clean-up a nasty `ow` module example.
2020-06-09 22:26:52 +02:00
M.K
27e127e7ea Minor typo and wording fixes (#2991) 2020-06-09 22:26:52 +02:00
galjonsfigur
6926c66b16 Polish Lua examples (#2846)
* Add missing globals from luacheck config

* Fix luacheck warnings in all lua files

* Re-enable luacheck in Travis

* Speed up Travis by using preinstalled LuaRocks

* Fix more luacheck warnings in httpserver lua module

* Fix DCC module and add appropriate definitions to luacheck config.

* Change inline comments from ignoring block to only ignore specific line

* Add Luacheck for Windows and enable it for both Windows and Linux

* Change luacheck exceptions and fix errors from 1st round of polishing

* Add retry and timeout params to wget
2020-06-09 22:26:52 +02:00
Lukáš Voborský
36df8d009f Add DCC decoder module (#2905) 2020-06-09 22:26:06 +02:00
galjonsfigur
db1e4454de Initial version of software UART C module (#2673) 2020-06-09 22:26:06 +02:00
Nathaniel Wesley Filardo
863dfb59ed SSL rampage (#2938)
* Remove stale putative MD2 support

This hasn't worked in a while, presumably since one of our upstream
merges.  Don't bother making it work, since MD2 is generally considered
insecure.

* Land mbedtls 2.16.3-77-gf02988e57

* TLS: remove some dead code from espconn_mbedtls

There was some... frankly kind of scary buffer and data shuffling if
ESP8266_PLATFORM was defined.  Since we don't, in fact, define that
preprocessor symbol, just drop the code lest anyone (possibly future-me)
be scared.

* TLS: espconn_mbedtls: run through astyle

No functional changes

* TLS: espconn_mbedtls: put the file_params on the stack

There's no need to malloc a structure that's used only locally.

* TLS: Further minor tidying of mbedtls glue

What an absolute shitshow this is.  mbedtls should absolutely not
be mentioned inside sys/socket.h and app/mbedtls/app/lwIPSocket.c is not
so much glue as it as a complete copy of a random subset of lwIP; it
should go, but we aren't there yet.

Get rid of the mysterious "mbedlts_record" struct, which housed merely a
length of bytes sent solely for gating the "record sent" callback.

Remove spurious __attribute__((weak)) from symbols not otherwise
defined and rename them to emphasize that they are not actually part of
mbedtls proper.

* TLS: Rampage esp mbedtls glue and delete unused code

This at least makes the shitshow smaller

* TLS: lwip: fix some memp definitions

I presume these also need the new arguments

* TLS: Remove more non-NodeMCU code from our mbedtls

* TLS: drop support for 1.1

Depending on who you ask it's either EOL already or EOL soon, so
we may as well get rid of it now.
2020-06-09 22:26:06 +02:00
Andreas
f56722074a fixed missing forward declaration (#2975) 2020-06-09 22:26:06 +02:00
Nathaniel Wesley Filardo
948325a996 New net.if.info call to show LwIP information (#2862)
* Remove app/include/netif/wlan_lwip_if.h

This file appears to be unused in our tree.

* New `net.if.info` call to show LwIP information

This is a generalization of `wifi.sta`'s and `wifi.ap`'s `getip` and
`getmac` calls.  I don't propose to deprecate those, but perhaps we
should, in the documentation, point users at this function instead.

The direct motivation is to permit continued use of DHCP-provided NTP
servers in a future where
https://github.com/nodemcu/nodemcu-firmware/pull/2819 has landed, now
that https://github.com/nodemcu/nodemcu-firmware/pull/2709 is in the
tree.  But rather than exposing just that information, a more general
interface seems useful.
2020-06-09 22:26:06 +02:00
Marcel Stör
1b4b442142 Streaming support for hx711 (#2915) 2020-06-09 22:26:06 +02:00
Gregor Hartmann
d4b5b0cbaf Fixes for ws2812 and ws2812_effects (#2953)
* clean effects library
* Fix several issues in ws2812 and effects
* Implement working way of calling shift from callback
2020-06-09 22:26:06 +02:00
Lukáš Voborský
e7be7644c0 Update sensor driver for BME680 to 3.5.9 (#2969) 2020-06-09 22:26:06 +02:00
Gregor Hartmann
bfcccbf0b4 Improve httpserver documentation (#2971) 2020-06-09 22:26:06 +02:00
Johan Ström
e9199a5316 Improve MQTT documentation (#2967) 2020-06-09 22:26:06 +02:00
Matsievskiy S.V
1759ebb360 fix lfs upload issue 2020-06-09 22:26:06 +02:00
Marcel Stör
0a453caf79 Fix typos 2020-06-09 22:26:06 +02:00
Nathaniel Wesley Filardo
282ebd100d Deprecate crypto.to{Hex,Base64} (#2929)
The internal implementation already preferentially forwards to the
encoder module, so we should just remove these functions as they confuse
people into thinking that we don't have their inverses (see the feature
request https://github.com/nodemcu/nodemcu-firmware/issues/2907).

Update the docs to refer to the encoder version and add deprecation
warnings to the runtime implementations.
2020-06-09 22:26:06 +02:00
Marcel Stör
da53d1938f Fix invalid smartconfig include
Fixes #2928, #2923
2020-06-09 22:26:06 +02:00
Marcel Stör
08ea0c8d27 Remove superfluous module def
Fixes #2920
2020-06-09 22:26:06 +02:00
Marcel Stör
16b2cc5107 Revert "Add streaming support for hx711 device (#2793)" (#2914)
This reverts commit 32ad759409cbaaf53d3f51fc2f6573634eaadbc9.
2020-06-09 22:26:06 +02:00
Philip Gladstone
9809a607fd Add streaming support for hx711 device (#2793) 2020-06-09 22:26:06 +02:00
Terry Ellison
08426e48f1 Rebased against current dev, tweaks for clean compile 2020-06-09 22:26:06 +02:00
Terry Ellison
6d81dd6c0a Rebased against current dev 2020-06-09 22:26:06 +02:00
Terry Ellison
ce2e50c651 Updates following JM review 2020-06-09 22:26:06 +02:00
Terry Ellison
50b69d8487 Add telnet example 2020-06-09 22:26:06 +02:00
Terry Ellison
e7c29fe38e Lua 5.1 to 5.3 realignement phase 1 2020-06-09 22:26:06 +02:00
Edvinas
3d91785018
Bugfix conn metatable method call (#3012)
Here `conn` is net.socket instance, so it should be called as one.
Otherwise request is very likely to end up with crash and PANIC.
2020-02-23 09:46:35 -08:00
Marcel Stör
71a182caa7 Use new GitHub issue templates 2020-01-06 14:21:25 +01:00
Terry Ellison
310faf7fcc
Merge pull request #2886 from nodemcu/dev
Next master drop
3.0-master_20190907
2019-09-07 10:45:18 +01:00
Marcel Stör
a08e74d9ad Complement list of missing standard Lua modules 2019-08-27 22:13:17 +02:00
Gregor Hartmann
739b675b72 add build_date to build info (#2888) 2019-08-15 12:33:22 +02:00
Marcel Stör
0b90495517 Fix node.info() 2019-08-06 23:30:55 +02:00