8000 1.18/esp32: neopixel and bitstream() changes · Issue #8198 · micropython/micropython · GitHub
[go: up one dir, main page]

Skip to content
1.18/esp32: neopixel and bitstream() changes #8198
Closed
@cederom

Description

@cederom

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 :-)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0