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

dimmed pads flicker #5

Open
faroit opened this issue Nov 11, 2015 · 2 comments
Open

dimmed pads flicker #5

faroit opened this issue Nov 11, 2015 · 2 comments

Comments

@faroit
Copy link

faroit commented Nov 11, 2015

this might be a bug in the open source firmware API in general. But the very light dimmed colours which were chosen e.g. for the session view do flicker sometimes on my LPP. The flicker does occur on some columns and seem to be more prominent when the device is powered by USB only.

Can you reproduce this?

@dvhdr
Copy link
Contributor

dvhdr commented Nov 11, 2015

I expect this is down to the fact that there is no double buffering - when doing a hal_set_led(), you're writing directly into the buffer that is being scanned to drive the LEDs. An API for fixing this might look like:

lock(); write_led(); .... unlock();

...where lock() and unlock() would manage buffer flips.

See here:
dvhdr/launchpad-pro#2

To work around this, avoid writing LEDs that have not changed colour (though I appreciate that's not ideal!).

@jrcurtis
Copy link
Owner

I've done some work on this specifically in notes mode, where it used to be redrawn on every sequence step, but now the pads are not redrawn except to turn individual pads white when they are played. It helps the flicker, but it also makes the logic a little more complex to ensure lights are always restored to their original state.

Session mode is definitely the next target for this sort of optimization, but there are so many more moving parts that I haven't been able to think of a good way to identify just the parts that have changed.

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

No branches or pull requests

3 participants