Commit Graph

369 Commits

Author SHA1 Message Date
Johny Mattsson 5c59c57a16 Implement tmr.wdclr() 2021-10-22 12:38:07 +11: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
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
Kit Klein a8b46af905
Correct wifi auth types for esp32 (#3047)
Correcting the AP config auth types.  The ones defined in the current documentation don't seem to exist.
2020-02-26 12:30:22 +01:00
Marcel Stör 1e177194b0 Fix doc header 2020-02-11 23:30:20 +01:00
Marcel Stör 035bef406a Fix formatting and function sorting 2020-02-09 23:50:33 +01:00
John Lauer 9a5327cab1 Add touch sensor module (#2863)
* Touch module 1st checkin
* ESP32. Check-in 2 for Touch sensor module
* ESP32: Touch module. Sample Lua code.
* ESP32: Latest YouTube vid
* ESP32: Touch docs update
* Added opt_* methods for value retrieval
2019-10-27 19:49:56 +01:00
Arnim Läuger d20778ed09
Support eth boards without power pin, extend docs (#2855)
* fix handling of optional power pin

* add init example for wESP32

* add example for eth.on()
2019-08-12 22:31:19 +02:00
Javier Peletier b5146f8883 Added required libraries to build env setup instructions (#2844) 2019-07-23 18:38:27 +10:00
Johny Mattsson eaac369dec
LFS support for ESP32 NodeMCU (#2801)
* Port LFS from ESP8266 to ESP32
2019-07-22 19:13:43 +10:00
Arnim Läuger 7cb61a27d2 Esp32 eth (#2820)
Ethernet module added.
2019-07-20 12:47:43 +10:00
John Lauer fead54e744 Add video walk through of build process (#2826) 2019-07-10 19:55:19 +02:00
Johny Mattsson ca89bff073 OTA support for ESP32 (#2812)
* Implemented otaupgrade module.

* Added partition table example for otaupgrade.

* Copy-paste omission. Whoops.

* Updated otaupgrade docs after review.
2019-07-06 14:21:08 +02:00
Johny Mattsson e11087bfdf Improved crypto module for ESP32, now with HMAC (#2815)
* Leaner, meaner crypto module; now with HMAC

Based on my testing, mbedtls pulls in all its algorithm regardless of
whether the NodeMCU crypto module was using them or not. As such, the
space savings from omitting algorithms were only in the tens of bytes.

By switching to using the mbedtls generic message digest interface, the
crypto module itself could be shrunk in size and complexity. Despite
adding support for HMAC on all algorithms (plus including RIPEMD160),
this version is 330 bytes smaller.

* Updated crypto module docs.

* Removed superfluous brackets in crypto docs.

Copy-paste considered harmful... >.>
2019-07-04 23:24:59 +02:00
John Lauer 8b9794b99d ESP32: Pulse counter module released (#2739)
* ESP32: Added pulsecnt module

The pulsecnt module let's you use the ESP32's pulse counter capabilities from Lua.

* ESP32: Pulsecnt module. Better/faster callback.

Reduced the amount of callback variables to speed things up and shift more logic to Lua than in the C code.

* ESP32: Completed docs for pulsecnt

* ESP32: Final release of pulsecnt

* ESP32: Production release of pulsecnt

* ESP32: Release (tweaked docs)

* ESP32: Pulse Counter Release. Cleaned up .gitignore

* ESP32: Pulse counter release (changed ch1 gpio to int to match ch0)
2019-06-12 22:34:24 +02:00
Skirmantas Lauzikas 6d0e45793f ESP32: Add option to set IP/dns config (#2560)
* ESP32: Add option to set IP/dns config

This commit adds support for setting:
* Hostname
* Static IP / Dns server (Sta mode)
* Changing AP network ip config
* Setting DNS server IP for DHCP

* ESP32: Documentation for setting IP/dns/hostname config

* Documented new functions
* sethostname() now returns true if success
2019-06-10 16:33:29 +02:00
devsaurus 5faf76b762 update to u8g2 2.25.10
- new displays
- binding for updateDisplay() and updateDisplayArea()
- use user_ptr instead of hal workaround
2019-04-28 22:26:37 +02:00
mucek4 42036802fe Fixed http.post() example (#2734) 2019-04-22 11:39:14 +02:00