Commit Graph

384 Commits

Author SHA1 Message Date
Philip Gladstone adc188b4b1 Merge remote-tracking branch 'origin/dev-esp32-idf4' into ble 2022-01-07 21:12:10 +00:00
Philip Gladstone 13e1dada4d Update the docs to match the code 2022-01-06 02:13:13 +00:00
Philip Gladstone 7aa22335ac Add support for notify (untested) 2022-01-06 02:10:53 +00:00
Johny Mattsson 6e63264963
Support interface-specific hostname on ethernet interface. (#3487) 2022-01-02 13:31:58 +11:00
Philip Gladstone 7e123b215e
Apply suggestions from code review
Fix capitalization of Bluetooth

Co-authored-by: Marcel Stör <marcelstoer@users.noreply.github.com>
2021-11-08 20:07:12 -05:00
Philip Gladstone 4109e3053f Prevent ble.shutdown() as it corrupts something... 2021-11-05 23:50:48 +00:00
Johny Mattsson a0c9085cca Make node.output() RTOS thread safe.
Also removed old, very unsafe node.osoutput(). We're now integrating cleanly
with the IDF/newlib way of redirecting stdout.

Added necessary depends in Kconfig to ensure VFS support is enabled, as
otherwise you'd only get a mysterious crash when attempting to enable
output redirection.
2021-11-04 22:24:01 +11:00
Philip Gladstone b5c4082988 Allow dynamic update of advertisements 2021-10-26 00:41:47 +00:00
Philip Gladstone 7b6a85b931 Remove trailing spaces 2021-10-24 18:06:04 +00:00
Philip Gladstone 52562a6412 Got rid of the random printfs 2021-10-24 18:04:04 +00:00
Johny Mattsson 5c59c57a16 Implement tmr.wdclr() 2021-10-22 12:38:07 +11:00
Philip Gladstone 6b55c396b7 Merge remote-tracking branch 'origin/dev-esp32-idf4' into ble 2021-10-21 01:35:10 +00:00
Johny Mattsson a2ba49e36b Switch to IDF-provided VFS and standard `io` module.
The IDF-provided VFS resolves several issues:

 - The IDF components having a different view of the (virtual) file system
   compared to the Lua environment.

 - RTOS task/thread safety. Our legacy VFS was only ever safe to use
   from the LVM thread, which limited its usability. Upgrading it
   would have effectively required a reimplementation of the IDF VFS,
   which would have been a bigger task with larger on-going maintenance
   issues.

 - We're no longer needing to maintain our own SPIFFS component.

 - We're no longer needing to maintain our own FATFS component.

 - The legacy of the 8266's lack of standard C interface to the file system
   is no longer holding us back, meaning that we can use the standard
   Lua `io` module rather than the cobbled-together swiss army knife
   also known as the file module.

Of course, the downside is that we'll either have to declare a backwards
breakage in regard to the file module, or provide a Lua shim for the old
functions, where applicable.

Also included is some necessary integer type fixups in unrelated code,
which apparently had depended on some non-standard types in either the
SPIFFS or FATFS headers.

A memory leak issue in the sdmmc module was also found and fixed while
said module got switched over to the Espressif VFS.

Module documentation has been updated to match the new reality (and I
discovered in some places it wasn't even matching the old reality).
2021-10-20 21:49:11 +11:00
Philip Gladstone 28cb8981b2 Making progress on ble 2021-10-19 22:14:32 +00:00
Philip Gladstone 06becd1e8a Try and get shutdown to work 2021-10-18 02:22:10 +00:00
Philip Gladstone f8709b9644 Fixed the docs and add support for advertising data 2021-10-17 16:05:21 +00:00
Philip Gladstone 2cf72b4f8b It compiles!! 2021-10-16 20:05:33 +00:00
Marcel Stör 389c119a8b
Add http.put (#3462)
Replaces setpostdata() with setbody().
2021-10-05 13:33:27 +11:00
Johny Mattsson 5e52a9e200 Added heaptrace module. 2021-09-16 13:54:55 +10:00
Johny Mattsson b84138595d Add eth.set_ip() functionality.
Effectively the esp_netif version of the recent tcpip_adapter based
support added on dev-esp32 in fa6fd1a41b.
2021-09-09 19:07:51 +10:00
Johny Mattsson 37f682dd70 More ethernet module fixes. 2021-09-09 19:05:48 +10:00
Johny Mattsson 185855b69a Brought over node.setonerror() functionality.
Now properly triggering restart on non-interactive errors.
2021-08-26 11:33:42 +10:00
Johny Mattsson 0690a7d181 Make bit module handle 32/64bit integer configs. 2021-08-25 18:58:53 +10:00
Johny Mattsson dba57fa0ea Merge branch 'dev-esp32-idf4-lua53' into dev-esp32-idf4 2021-08-24 10:42:43 +10:00
Johny Mattsson e52e0a8e84 Pulled in the 5.1+5.3 docs from the esp8266 branch.
With minor modifications to drop ESP8266 specific information not
applicable to the ESP32 series. Further corrections welcome.
2021-08-22 19:25:39 +10:00
Marcel Stör 3a6961ccc7
Update RTD MkDocs (#3457)
* Modernize docs

* Remove old style hacks

* Add comment
2021-08-16 15:27:56 +10:00
Johny Mattsson bc7b923646 Code cleanup to sort out warnings.
I2S constants have changed; docs updated.
2021-07-29 13:47:45 +10:00
Johny Mattsson dff32e8902 WiFi module updates.
- Added support for WPA3
- Evicted left-over broken WiFi auto-reconnect
- Updated docs
2021-07-28 19:09:19 +10:00
Johny Mattsson 06a0e3dc23 idf4: part 3.2 - fix bug in updated eth module
Updated docs to reflect new WiFi station connect behaviour.
2021-07-22 16:46:57 +10:00
Johny Mattsson 54a41149ea idf4: part 3.1 - sorting out the linker specifics
Now boots to the Lua prompt, and modules are included and findable.
2021-07-21 20:46:42 +10:00
Johny Mattsson d2f8121e22 idf4: part 2.2 - update wifi & eth modules to new APIs
Only compile-tested so far.

Of note is that the WiFi auto-connect (flag) functionality has been removed
from the IDF, and as a follow-on so has the "auto" field in the wifi config.

On the Ethernet side, support for the TLK110 PHY seems to have been removed,
but on the other hand there is now new support for several others.
2021-07-20 18:18:21 +10:00
Johny Mattsson 379a8eb844 idf4: updated build docs to note new ./install.sh step 2021-07-15 16:44:40 +10:00
Johny Mattsson 16ef39e255 idf4: overhaul to new build system, part 1 of 3
Yet to come:
  - part 2: dealing with deprecated and removed APIs
  - part 3: making it actually work again
2021-07-15 16:27:03 +10:00
serg3295 8e0e0cb31c
Fix ledc, otaupgrade, pulsecnt, sdmmc, sjson, touch docs (#3436)
ledc.md - formatting, add object name
otaupgrade.md - formatting, add 'Syntax' section
pulsecnt.md - formatting, fix syntax pulsecnt.create, add object name
sdmmc.md - fix typos
sjson.md - formatting, add `Parameters` section
touch.md - formatting, add object name, fix Returns in tp:read()
2021-05-23 16:29:01 +02:00
serg3295 39dc2e050f
Fix bit, bthci, can, encoder, eth, i2s docs (#3432)
* Fix bit, bthci, can, encoder, eth, i2s docs

* Fix bit, mqtt, qrcodegen, sigma-delta, sodium, time docs.

* Add object name in http.md
2021-05-19 21:02:49 +02:00
serg3295 1927b22c17
Fix adc, i2c, file, tmr docs (#3428) 2021-04-27 22:30:46 +02:00
Marcel Stör 3acb6b7c79
Add node.bootreason (#3413) 2021-04-02 08:03:17 +02:00
tomsci 6ba98f348d
Add uart.txflush() (#3390) 2021-02-14 08:43:20 +01:00
jmdasnoy fb12af06e7
Fix I2C timeout (#3377) 2021-01-22 13:01:21 +01:00
tomsci d5f0094576
Add node.sleep()(#3370)
Supporting wakeup from (non-EXT1) GPIO, UART, ULP, timer and touch
2021-01-17 09:00:12 +01:00
Kit Klein 830366188d
Add node.osoutput() method for ESP32 (#3363) 2021-01-05 12:34:35 +01:00
Nathaniel Wesley Filardo dd3b217df2
Kconfig: rename LUA_MODULE_* to NODEMCU_CMODULE_* (#3135)
Using the NODEMCU_ namespace prefix makes it obvious that these are not
part of Lua proper (contrast, e.g., LUA_BUILTIN_STRING).  Using
"CMODULE" gives us room to differentiate between modules whose
implementation is in C and whose implemenation is in Lua ("LMODULE").

The ESP8266 branch can adopt the same convention when it moves to
Kconfig; see https://github.com/nodemcu/nodemcu-firmware/issues/3130
2020-08-23 22:49:18 +02:00
Marcel Stör 572f731b61
Update build.md 2020-08-23 21:56:18 +02:00
tomsci fa2348f36b
Support for GPIO wakeup in node.dsleep() (#3115) 2020-08-22 10:32:45 +02:00
M.K 8db97c0f52
Fix method name encoder.fromBase64 in example code (#3247) 2020-08-22 10:31:08 +02:00
Javier Peletier 084d6cabc5
Add support for external modules (#3100) 2020-07-27 19:08:19 +02:00
kiritnarain 04e01fd4ef
Fix conflict between documentation and example for method newChannel() (#3184)
It now correctly uses ledc.newChannel() and saves the return value instead of invoking ledc.setup().
2020-06-30 13:52:12 +02:00
Javier Peletier f4887bf134
JTAG debugging quick guide for Linux (#3088) 2020-05-18 19:58:15 +02:00
tomsci b8e8ffa53a
Expose gpio_set_drive_capability API to Lua (#3099) 2020-05-18 19:56:43 +02:00
tomsci f7b8cf018e
Unref gpio.trig callbacks when type=INTR_DISABLE (#3072)
Fixes #2880
2020-04-27 14:29:08 +02:00