Commit Graph

1155 Commits

Author SHA1 Message Date
philip d1be80e4a3 Conditionalize int2float on lua 5.3 2020-11-07 16:23:43 +01:00
philip 9ca1672f9e Remove ESP8266 special case 2020-11-07 16:23:43 +01:00
philip aaef4c3db4 Make it work for the integer lua51 build 2020-11-07 16:23:43 +01:00
philip bae01c47a0 Now round trips in float firmware, and gets it roughly right in double (in lua 51) 2020-11-07 16:23:43 +01:00
philip 3795e22b89 Give it a chance of working under Lua 5.1 2020-11-07 16:23:43 +01:00
philip 60f0150736 Add snprintf and remove our sprintf 2020-11-07 16:23:43 +01:00
philip a6beec9f0f Make round tripping work for lua53 and floats 2020-11-07 16:23:43 +01:00
philip b1a6cb1d43 Make it inline 2020-11-07 16:23:43 +01:00
philip 5eb81197cb Add missing ICACHE_RAM_ATTR 2020-11-07 16:23:43 +01:00
Philip Gladstone cc7cc395ac Improve the enduser setup experience by triggering captive portal detection. (#3282)
* Make captive portal detection work on macOS
* Change the default SSID prefix to be NodeMCU
2020-11-07 16:23:43 +01:00
Nathaniel Wesley Filardo 625397d133 uart: expose fifo depth counters (#3177) 2020-11-07 16:23:43 +01:00
Philip Gladstone fee81bf9ad Handle tcp fragmentation and also fix XSS problem. (#3275) 2020-11-07 16:23:43 +01:00
Philip Gladstone f527ad86e4 Fix problem reading files a multiple of 128 bytes long (#3280) 2020-11-07 16:23:43 +01:00
vsky 64bbf00689 Adding '+' flag to string.format 2020-09-09 04:23:33 +01:00
Gregor Hartmann 4d784798a7
Add deprecation note to node.flashreload (#3273) 2020-09-08 12:17:12 +02:00
Terry Ellison d88c14b9b6
Update node.c
Redo last change
2020-09-07 13:09:25 +01:00
Terry Ellison 41c5f8fd57
Update node.c
To fix #3251.
2020-09-07 12:53:51 +01:00
Lukáš Voborský 38f13a7e9f
Fixes broken `tmr.alarm` (#3263)
Co-authored-by: vsky <blue205@centrum.cz>
2020-09-05 14:16:57 +02:00
vsky e28cf8d983 Fixes `net.ifinfo` failure 2020-09-04 21:54:40 +02:00
galjonsfigur e7620b0647
SoftUART module fixes and code simplification (#3104)
* SoftUART fixes:

- Simplify code by using lua_L* functions and using userdata properly
- Fix some edge-cases
- Add more examples to documentation

* Don't de-register interrupt hook if there is more RX instances

* More bug fixes and registering simplification with luaL_reref and unref2

* Correct documentation of SoftUART module
2020-09-04 17:02:33 +02:00
Philip Gladstone ba611101e5
Don't allocate flash to SPIFFS that is reserved by the system. (#3260) 2020-09-01 22:40:57 +01:00
galjonsfigur b4c148eff0
Add missing features to Travis CI PR build (#3255) 2020-08-30 21:04:00 +02:00
Lukáš Voborský d72ea91ed0
Implementing optional parameter `restart` to tmr:start() (#3111) 2020-08-29 21:43:50 +02:00
Philip Gladstone 606f91664b
First phase of number to integer conversion (#3221) 2020-08-29 17:48:24 +01:00
Philip Gladstone 0e02c0e5f3
Change struct & sjson to use integers. This is slightly more complex (#3222)
* Change struct to use integers. This is slightly more complex as we have to deal with Unsigned 32-bit integers (that aren't lua integers)
* Use int64 in struct rather than double.
* Fix sjson to do the right things in LUA5.3 with integers and floats
2020-08-23 23:11:18 +01:00
mk-pmb 64ece47ff6 Allow custom SPIFFS location in "demons" part of user_config.h
In case a custom SPIFFS location was defined above, don't overwrite it.
2020-08-23 15:27:46 +01:00
Terry Ellison a92da3c33c
Lua 5.1 / 5.3 alignment and document (#3193) 2020-08-22 17:41:02 +01:00
Caleb Mingle e547c2a094 mqtt: fix connfail callback
I've not been able to get the mqtt `connfail` callback to work.

I'm consistently receiving `method not supported` errors:
```
application.lua:53: method not supported
stack traceback:
        [C]: in function 'on'
        application.lua:53: in main chunk
        [C]: in function 'dofile'
        init.lua:18: in function <init.lua:6>
```

Example code:
```
function on_connection_failed(client, reason)
    print("mqtt connection failed: " .. reason)
end

m:on("connfail", on_connection_failed)
```

I believed this to be caused by the incorrect length comparison for `connfail`
that is updated here.

Once I changed that, the error went away, however the callback was never called.

I believe the callback was never called because of an incorrect assignment.

However, I saw this somewhat confusing description in the docs so this
assignment may be expected?
> The second (failure) callback aliases with the "connfail" callback available through :on(). (The "offline" callback is only called after an already established connection becomes closed. If the connect() call fails to establish a connection, the callback passed to :connect() is called and nothing else.)
2020-08-11 17:20:17 +01:00
Philip Gladstone 995114b736
Add support to set the clock rate and have sntp use it. (#3236) 2020-08-08 13:32:14 +02:00
Emdioh bf15299cea
Correct negative results in DHT driver (#3210)
* DHT module: fix the handling of negative temps.

The macro handling the conversion from the 2 bytes buffer to a double
was handling negative values by checking the sign bit and taking the
negative value of the number minus the sign bit.
Unfortunately this does not work as the negative values are represented
in 1's complement, so for instance -1 was becoming -32767
  * +1 = b0000_0000_0000_ 0001
  * -1 = 1111_1111_1111_1111

This replace the spacial code with a signed 16 bits value.

* Refactoring: removes some code duplication.

* Fixed the conversion of the 8/16 bits values

Co-authored-by: Marco Dondero <marco@dondero.eu>
2020-08-03 19:58:19 +01:00
Lukáš Voborský 2fa63a1303
Fix of string.format("%.0f") (#3199)
Co-authored-by: vsky <blue205@centrum.cz>
2020-07-07 14:35:37 +01:00
Datong Sun 95f5191cd3 Fixed an regression that MQTT client timer is disarmed prematurely when
connecting to server.

Inside af426d0315, the `mqtt_socket_timer`
function was modified so that instead of checking the presense of
allocated `mud->pesp_conn` structure, `mud->connected` field was used
on determining if the timer need to be disarmed.

However, this is not entirely correct. If the TCP socket is actively
connecting and haven't timed out yet, then `mud->connected` is also
`false` and the timer will think the connection is broken and
disarms itself. This has two consequences:

* The connection timeout counter is no longer decremented and checked
* After connection succeeds, keepalive heartbeat is no longer being
  sent (#3166). This is particularly noticeable in MQTT over TLS
  connections, because those usually takes longer than 1 second
  to finish and the timer would had chance to execute before connection
  is established

This commit checks the presense of `pesp_conn->proto.tcp` pointer
instead, which was allocated in the same place as the (old) `pesp_conn`
struct, and according to my test indeed fixes the above issue.
2020-06-30 13:20:17 +01:00
Nathaniel Wesley Filardo 90beedfaba
rtctime: try harder to speak in integers (#3161)
Otherwise we might truncate precision with small floats and that's
unlikely to work out well for anyone.
2020-06-20 22:06:32 +02:00
vsky 17504b6e7a ads1115 minor cleanup 2020-06-17 23:50:31 +01:00
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
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
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
Gregor cad576a23b fix build 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