Skip to content
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

Slow set/clr_bit writes a little #195

Merged
merged 2 commits into from
Aug 27, 2021
Merged

Slow set/clr_bit writes a little #195

merged 2 commits into from
Aug 27, 2021

Conversation

Gadgetoid
Copy link
Member

We chased a bug with handling/clearing interrupts on Encoder into the depths of madness, finding that a Debug build would magically fix the bug.

Turns out it was probably just us being a little aggressive with the poor little MS51-based Encoder driver.

  • Fix delays to be more delayey.
  • Replace big 'ol loop and boolean with straight up checks and an early exit- the bit-addressed regs are never going to change

We chased a bug with handling/clearing interrupts on Encoder into the depths of madness, finding that a Debug build would magically fix the bug.

Turns out it was probably just us being a little aggressive with the poor little MS51-based Encoder driver.

* Fix delays to be more delayey.
* Replace big 'ol loop and boolean with straight up checks and an early exit- the bit-addressed regs are never going to change
This covers an edge case where pixels are updated intermittently - such as the once that happens when clearing before a Python soft reset.

Under normal circumstances users should `start` the LED strip and allow it to continuously update.
@Gadgetoid Gadgetoid merged commit d1ca596 into main Aug 27, 2021
@Gadgetoid Gadgetoid deleted the patch-ioexpander-delays branch March 28, 2022 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant