54 Commits

Author SHA1 Message Date
f4grx
bfd2259165 Avoid the use of invalid GPIOS when setting up a one-wire bus. (#2934)
Fixes #2933
2019-10-29 22:34:15 +01:00
Johny Mattsson
b0558d5bbe
Fix uart regressions & bugs (#2817)
* Fix uart regressions & bugs.

Using `uart.on()` with a search character was broken in that it did
not invoke the callback on a full UART buffer as documented. Logic reworked
to match docs again.

Fixed memory leak on `task_post()` failure (eep!).

Improved logic to attempt to coalesce input bytes to reduce the number of
`task_post()` slots used up by the platform uart.

Finally, added a semaphore to prevent the platform uart from overrunning
the `task_post()` slots all the time on high baud rates (e.g. 1mbit).
With the semaphore in there, the LVM RTOS task gets a chance to actually
process the received data and free up a `task_post()` slot or two.
The above mentioned read coalescing then allows the platform uart to
immediately catch up.

Also added an error log message if the `task_post()` actually does fail.

* Don't cache the uart delims.

Doing so makes reconfiguring those settings from within the callback not
take effect until the currently buffered bytes have been processed.
2019-10-13 09:49:44 +11:00
Johny Mattsson
eaac369dec
LFS support for ESP32 NodeMCU (#2801)
* Port LFS from ESP8266 to ESP32
2019-07-22 19:13:43 +10:00
devsaurus
e30904b607 force common intr alloc flags for all platform components that use rmt
remove ESP_INTR_FLAG_IRAM to fix #2564
2019-05-31 23:34:15 +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
Javier Peletier
577e2ea8b2 uart: added uart.getconfig() (#2633) 2019-01-29 22:28:37 +01:00
devsaurus
fa35e02481 update fatfs to 0.13c 2019-01-17 21:12:08 +01:00
Skirmantas Lauzikas
3257e557d4 ESP32: add support for RS485 (#2559)
* ESP32: add support for RS485

This commit adds support for switching UART mode to RS485/IRDA.
Also included are patches for memory leaks then handling UART events other than data.

* ESP32: Documentation for uart.setmode()
2018-11-30 12:07:05 +01:00
Arnim Läuger
9bd8df4693 Use custom parition table with 1.5MB for firmware (#2567) 2018-11-23 20:16:36 +01:00
devsaurus
dc0c6ff65d pack-port bits and pieces in spiffs.c:
- implement file.size for spiffs (#1516)
- fix vfs_lseek() result checking in enduser_setup and clarify SPIFFS_lseek() return value (#1570)
- Handle error condition in file.read() (#1599)
2018-11-04 08:49:17 +01:00
devsaurus
fdb96f51be update file and vfs to master 2018-11-04 00:42:08 +01:00
devsaurus
45c63a8236 Add ucg module. 2018-10-07 16:31:28 +02:00
devsaurus
358379fd90 Updated ESP-IDF to latest. 2018-10-07 12:33:40 +02:00
devsaurus
45be28cf60 fix and document template partition table 2018-04-15 22:55:28 +02:00
devsaurus
8d0a8a5763 refactor task wdt handling to platform layer 2018-04-04 09:25:47 +02:00
devsaurus
8d843e5beb fix task wdt to handle PANIC situations and spiffs formatting 2018-04-02 21:17:18 +02:00
devsaurus
4702c1f181 align source from esp8266 port 2017-12-18 22:06:47 +01:00
devsaurus
7448d21afa Updated ESP-IDF to latest. 2017-09-12 22:22:20 +02:00
devsaurus
9f8664b8e6 Updated ESP-IDF to latest and adapt spi master. 2017-09-02 11:38:19 +02:00
devsaurus
64f8ac2876 u8g2: add rfb support 2017-07-27 23:29:37 +02:00
devsaurus
5ee043cfb9 fix pin handling for rmt channels now that GPIO output matrix is cleared with
17747b3358
2017-07-13 23:00:24 +02:00
devsaurus
a56a7b2775 init ws2812_chains during platform_init 2017-06-20 23:09:14 +02:00
devsaurus
a8ff8f059d Add u8g2 module. 2017-06-13 18:38:09 +02:00
zelll
329bd73b63 ESP32: uart 1/2 supports (#1982)
* uart 1/2

* call -> pcall in uart_on_* functions

* fix docs

* fixed console driver when using custom console uart

* fixed line_inverse and error callback

* fixed a crash when uart.start() called more than one time
2017-06-13 18:33:32 +02:00
devsaurus
1117137363 fix compile warnings 2017-05-05 22:51:21 +02:00
devsaurus
fb62011ddf Add sdmmc module and enable fatfs. 2017-04-30 22:49:54 +02:00
devsaurus
31cb312c72 fix insertion of rmt end marker 2017-04-27 23:13:24 +02:00
zelll
b7fa8c592f ADC extension for ESP32 (#1927)
* added adc extension

* add adc_number, for adc2
2017-04-24 21:36:01 +02:00
devsaurus
018a67a710 establish flushing of uart to leverage buffering putchar() 2017-04-18 22:43:03 +02:00
devsaurus
066e8d60fa install rmt isr as shared for dht and onewire 2017-04-14 19:56:36 +02:00
devsaurus
1866e6f457 Add ws2812 module. 2017-04-14 19:56:27 +02:00
devsaurus
927ee7fc5f Add dht module. 2017-04-14 19:18:38 +02:00
devsaurus
c8e99d50a5 Updated to latest IDF. 2017-04-14 00:22:33 +02:00
devsaurus
3694ffa957 ow: update rmt handover when switching pins 2017-04-01 14:12:58 +02:00
devsaurus
e2fdd4adbe Manage RMT channel resources with alloc()/release(). 2017-04-01 10:09:10 +02:00
devsaurus
1116bb2c71 ow: handle misconfigured bus gracefully with timeout 2017-03-20 22:20:45 +01:00
devsaurus
961c1c72b2 Add ow module. 2017-03-17 07:50:31 +01:00
devsaurus
f5632f41f9 extend i2c master with hardware interfaces for synchronous and asynchronous operation 2017-02-04 20:14:13 +01:00
devsaurus
381726f103 add i2c module 2017-02-02 21:40:36 +01:00
devsaurus
4fcb1404b6 add simga_delta module 2017-01-13 22:34:24 +01:00
Johny Mattsson
7abda5c9e0 Updated to latest IDF.
- Switched hardcoded interrupts to new IDF interrupt allocation
framework.

- gpio module switched to the IDF's per-pin interrupt callback service.

- Improved NodeMCU linker script since it broke with the IDF upgrade.

- Various compatibility updates.
2016-12-30 19:25:48 +11:00
Johny Mattsson
2b454abfdf Improved flash size detection.
With the recent flash layout changes, it became very possible to misdetect the
flash size. We're now using the partition table as the guard marker, since
that really shouldn't be all 0xff. Also, we now don't clobber the flash
device id (and keep block/sector/page/mask values).
2016-11-17 11:56:39 +11:00
Johny Mattsson
2266670b46 Updated to latest IDF. 2016-11-16 17:59:06 +11:00
Johny Mattsson
5c1bb4c6d6 Updated to latest IDF.
WiFi STA module updated to reflect IDF name changes.

Platform flash and partition api updated to reflect IDF name changes.
Eventually these (and the SPIFFS module) will likely need to be updated
to exclusively work with the esp_partition_xxx() functions in order to
support working with encrypted flash.
2016-11-12 13:17:17 +11:00
Johny Mattsson
baf8249a79 Improved flash-size auto-detection.
No longer limited to the default 2MB.
2016-09-23 17:39:06 +10:00
Johny Mattsson
3b65262922 Less memory leaks if not coding in a rush... 2016-09-22 19:50:46 +10:00
Johny Mattsson
d369953328 Auto-create SPIFFS partition if not found.
The heuristics could probably be improved a lot, but this is better than
nothing at least.
2016-09-22 18:19:39 +10:00
Johny Mattsson
60339b812b SPIFFS partition support, file module from dev.
Now uses the designated partition (type 0xC2, 0x00) unconditionally.
2016-09-22 17:18:22 +10:00
Johny Mattsson
0fe0096c04 Platform flash layer updated for ESP32.
It would appear my ESP3212 only has a 2MB flash chip despite the
bootloader saying 4MB.
2016-09-22 14:56:40 +10:00
Johny Mattsson
6cd3111d79 Platform interface to flash partition info. 2016-09-22 13:09:56 +10:00