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

[Bug] OLED does not time out when writing to last column #18983

Open
chrisduerr opened this issue Nov 7, 2022 · 1 comment
Open

[Bug] OLED does not time out when writing to last column #18983

chrisduerr opened this issue Nov 7, 2022 · 1 comment

Comments

@chrisduerr
Copy link

chrisduerr commented Nov 7, 2022

Describe the Bug

So I'm not entirely sure why this happens, but it seems like writing to the last row on my 128x32 OLED display prevents the OLED timeout from kicking in. I'm specifically talking about these lines.

Using oled_set_cursor(1, 13); instead of oled_set_cursor(1, 15); fixes the issue. The display times out correctly without any issues.

I've implemented a manual timeout, which fixes the issue for me, but I was curious if I'm doing something wrong or if there was an issue with QMK here.

One interesting thing I noticed is that writing with oled_write_P into the last row seems to also clip the top of the screen, so maybe the issue is with the "last row" not being a full row? I feel like that still shouldn't prevent the OLED timeout but at least it's an indication that I might be doing something wrong?

Keyboard Used

https://github.com/chrisduerr/qmk_firmware/tree/09bc1696a9410c021cf338708e2ec47912e93a68/keyboards/undeadsplit (updated to the latest QMK upstream like 1-2 weeks ago)

@drashna
Copy link
Member

drashna commented Dec 10, 2022

If the line is wrapping around to the start, then it will cause rendering issues like this. Unfortunately, there really isn't a sanity check for this, I think.

Also, using oled_set_cursor should be avoided for a number of reasons. If you need more spaces, then you can add characters, or use oled_advance_char could be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants