Commit Graph

2257 Commits

Author SHA1 Message Date
Terry Ellison 1f2e5bba4a
Implement panic call handling for all modules (#3163) 2020-06-16 08:19:55 +01:00
Nathaniel Wesley Filardo 4e689e9839
Finish removing sqlite3 (#3162)
This file seems to have been missed by 35a266e2c2
2020-06-13 13:22:25 +02:00
Firenox89 0555a4c689 fix a memory leak in ws2812_buffer_shift by freeing the same amount of bytes we allocated before 2020-06-12 18:23:36 +01:00
Marcel Stör 06aa248f08 Remove RC and SQLite3 2020-06-10 08:26:05 +02:00
Nathaniel Wesley Filardo 61b540757a Remove deprecated rc module
It has long been superseded by the rfswitch module
2020-06-10 02:15:08 +01:00
Nathaniel Wesley Filardo 35a266e2c2 Remove sqlite3 module
It's not clear that this ever worked, AFAICT nobody uses it, and it's an
old version of the sqlite3 engine at this point.  Absent a maintainer,
let's just get rid of it.
2020-06-10 02:14:29 +01:00
Marcel Stör 8d091c476e Make the telnet example an Lua module (#3133)
Also update ftp server
2020-06-09 22:26:53 +02:00
Nathaniel Wesley Filardo f20591a82e Lost fix to nodemcu-partition.py (take 2) (#3139)
Replay a line from https://github.com/nodemcu/nodemcu-firmware/pull/2861
after accidental revert in
https://github.com/nodemcu/nodemcu-firmware/pull/3075 (specifically
9ef5c7dbea)
2020-06-09 22:26:52 +02:00
Gregor Hartmann 7c53cc7611 Deprecate RC module (#3137) 2020-06-09 22:26:52 +02:00
Terry Ellison 544ee81210 Updated lua.c to fix #3118 telnet issue 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo a04b085d71 ws2812_effects deprecation warning 2020-06-09 22:26:52 +02:00
Terry Ellison 98e428f12e Update wifi..c to fix #3106 2020-06-09 22:26:52 +02:00
Javier Peletier 75f1c64cbc fix compilation error when disabling startup banner (#3103) 2020-06-09 22:26:52 +02:00
Gregor Hartmann 93c82f1f9e Fix binary and chunked HTTP downloads (#2985)
Original sources by @anod221
2020-06-09 22:26:52 +02:00
galjonsfigur 7140894f2f Update hook after updating GPIO bits (#3091)
Fixes #3089
2020-06-09 22:26:52 +02:00
Lukáš Voborský 7a77d76438 net_info module - ping function (#2854)
* Net_info module exposing ping function initial commit
* Ping as a part of net module
* Sent callback implemented
* Add NET_PING_ENABLE macro

Authored-by: vsky <blue205@centrum.cz> with support from TerryE
2020-06-09 22:26:52 +02:00
ecrips a0864c4382 u8g2: Fix name of updateDisplay export (#3093)
Correct typo in Lua export from updateDispla() to updateDisplay()
2020-06-09 22:26:52 +02:00
Marcel Stör 6e020a1379 Add another LFS size value 2020-06-09 22:26:52 +02:00
Marcel Stör f90fdcf59c Add missing newline 2020-06-09 22:26:52 +02:00
Gregor 55d076895d resurecting it as regular file 2020-06-09 22:26:52 +02:00
Gregor c85d5de8d3 Delete espconn.h 2020-06-09 22:26:52 +02:00
Gregor 85de656b22 poor mans link which also works on docker under windows 2020-06-09 22:26:52 +02:00
Gregor cad576a23b fix build 2020-06-09 22:26:52 +02:00
seregaxvm 70cad7de5d fix liquidcrystal luacheck warnings (#3081)
Co-authored-by: Matsievskiy S.V <matsievskiysv@gmail.com>
2020-06-09 22:26:52 +02:00
Terry Ellison bbeb09b695 Squashed updates do get Lua51 and Lua53 working (#3075)
-  Lots of minor but nasty bugfixes to get all tests to run clean
-  core lua and test suite fixes to allow luac -F to run cleanly against test suite
-  next tranch to get LFS working
-  luac.cross -a options plus fixes from feedback
-  UART fixes and lua.c merge
-  commit of wip prior to rebaselining against current dev
-  more tweaks
2020-06-09 22:26:52 +02:00
evoluman 99aba34460 #2954: adapt LuaOTA to the new firmware api for the timer and some other sma… (#3016)
* #2954: adapt to the new firmware api for the timer and some other small fixes

* reduce the error msg in when not response is sent back from esp

* cleanup: remove trailing whitespaces

Co-authored-by: Adel Tayeb-Cherif <adel@evoluhome.com>
2020-06-09 22:26:52 +02:00
firenox89 fd26dea949 fix #2565 by inverting the grb2hsv argcheck condition (#3076) 2020-06-09 22:26:52 +02:00
Gregor Hartmann c50b4789c4 HTML for Apple devices to mitigate POST fragmentation (#3069) 2020-06-09 22:26:52 +02:00
Andreas Müller 95fc8b14b3 Correct integer types in BMP085 driver (#3070)
* BMP085 pressure sensor: fix temperature value data type

the data type for t (U_T) should be long according to the BMP085
datasheet (rev. 1.2, section 3.5). values over 32767 can indeed occur,
and in my case lead to a wrong value for the temperature (and
consequently also pressure).

note: this problem only occurs above a certain temperature (exact
value depends on the calibration, but I assume somewhere around 26°C).

* BMP085 pressure sensor: adapt data types and calculation

this adapts the data types and calculation to be consistent with the
datasheet (rev. 1.2, section 3.5). while I did not notice any issues,
using the wrong data types could trigger edge cases.
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo c8c90fe4e1 app/modules: prune some unnecessary metamethods 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo d480003a40 tls: fix new verification API
Because the old API was inactive, we were setting
MBEDTLS_SSL_VERIFY_NONE even after we'd parsed the certificate.

tls tests now include a deliberate certificate mismatch; this was
discovered by moving the mqtt tests over to the new API.
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo efa786da4e net.dns: don't calloc a single int
Removes yet another unchecked allocation point in our C libraries.

While here, fix potential reference leaks on error paths

Also while here, remove some stale documentation.  There can be as many
DNS requests in flight as LwIP has room for in its table
(DNS_TABLE_SIZE, which defaults to 4).
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo fd68000c12 net: drop LUA_GCSTOP/GCRESTART dance 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo bf478e0cc4 mqtt: drop LUA_GCSTOP/GCRESTART dance 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo a7f8564424 file: raise error on .on() with non-function/nil
Seems more polite than quietly accepting other types as nil.
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo 31c71c0e5d lua_examples/lfs/HTTP_OTA: move :connect() after :on()
IMHO, it's generally good style to register the callbacks first.
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo e1a81aa114 net: annotate deliberate case fallthrough 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo 9f8c2aea6f mqtt: remove dead store 2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo 6ac275071b mispec: don't use uart.write
Prefer print everywhere.
2020-06-09 22:26:52 +02:00
Nathaniel Wesley Filardo 74f9232370 mispec: don't use %f
The additional reporting, while nice, prevents the use of mispec on
integer-only builds
2020-06-09 22:26:52 +02:00
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 bcb669a4a0
2020-06-09 22:26:52 +02:00