Skip to content

Improve neopixel on ESP #8920

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 15, 2024
Merged

Improve neopixel on ESP #8920

merged 2 commits into from
Feb 15, 2024

Conversation

tannewt
Copy link
Member

@tannewt tannewt commented Feb 14, 2024

Greedily grab as much RMT memory as we can. It blocks other RMT transmit channels but we only use it temporarily anyway. The more we can grab, the fewer interrupts are needed to keep the transmit going.

Flickers may still happen due to file system writes but most of the time the animation just pauses.

On ESP32, move CircuitPython to the second core. This helps NeoPixel by moving the RMT interrupt to the second core as well.

When testing ESP32 I noticed that settings.toml writes won't apply until after hard reset. This removes that constraint but still requires the password to enable the web workflow.

Fixes #3835

Greedily grab as much RMT memory as we can. It blocks other RMT
transmit channels but we only use it temporarily anyway. The more
we can grab, the fewer interrupts are needed to keep the transmit
going.

Flickers may still happen due to file system writes but most of the
time the animation just pauses.

On ESP32, move CircuitPython to the second core. This helps NeoPixel
by moving the RMT interrupt to the second core as well.

When testing ESP32 I noticed that settings.toml writes won't apply
until after hard reset. This removes that constraint but still
requires the password to enable the web workflow.

Fixes micropython#3835
@tannewt tannewt added the espressif applies to multiple Espressif chips label Feb 14, 2024
@tannewt tannewt added this to the 9.0.0 milestone Feb 14, 2024
@tannewt tannewt requested a review from dhalbert February 14, 2024 23:11
Copy link

@jepler jepler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, motivation makes sense, didn't test

Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me.

@dhalbert dhalbert merged commit c84c066 into adafruit:main Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
espressif applies to multiple Espressif chips
Projects
None yet
Development

Successfully merging this pull request may close these issues.

neopixel LED "glitch" on ESP32-S2
3 participants