Closed
Description
Hello word :-)
I noticed that neopixel low level driver on ESP32 has changed at bitstream()
level in 1.18. It now seems to use RMT block.
Is call to old bitstream()
still available? My custom device driver was depending on that one. It works on 1.17 and stopped working on 1.18.
According to 1.18 Manual (https://docs.micropython.org/en/latest/esp32/quickref.html) it should be possible with code below:
import esp
esp.neopixel_write(pin, grb_buf, is800khz)
But 1.18 release for ESP32 does not have this call available:
MPY: soft reboot
MicroPython v1.18 on 2022-01-17; ESP32 module with ESP32
Type "help()" for more information.
>>> import esp
>>> esp.neopixel_write()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'neopixel_write'
>>> dir(esp)
['__class__', '__name__', 'LOG_DEBUG', 'LOG_ERROR', 'LOG_INFO', 'LOG_NONE', 'LOG_VERBOSE', 'LOG_WARNING', 'dht_readinto', 'flash_erase', 'flash_read', 'flash_size', 'flash_user_start', 'flash_write', 'gpio_matrix_in', 'gpio_matrix_out', 'osdebug']
In the source tree micropython/ports/esp32/machine_bitstream.c
I can see various implementations of machine_bitstream_high_low()
but the question is how to access and call them?
Any hints appreciated :-)