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

Update EPaperDisplay to allow for two byte sequence length #5874

Merged
merged 4 commits into from Jan 25, 2022
Merged

Update EPaperDisplay to allow for two byte sequence length #5874

merged 4 commits into from Jan 25, 2022

Conversation

dkulinski
Copy link

This update allows EPaperDisplay drivers with LUT tables larger than 128 bytes to be used. Specifically this fix is for the SSD1680 driver and the 153 byte LUT table on the Waveshare 2.9 inch V2 display. This fixes #5850

@dhalbert
Copy link
Collaborator

Could this just be done dynamically by noticing whether the supplied LUT is >128 bytes?

@dkulinski
Copy link
Author

I don't believe so (and please correct me if I'm wrong here) because the delay mask is in the 8th bit place and it is masked out from the size and this is what originally caused the issue. Because the LUT is just a byte string in the start_sequence there is no size supplied.

@tannewt
Copy link
Member

tannewt commented Jan 18, 2022

I suggested this. I don't think there is a way to automatically detect it.

@dkulinski There are a couple boards that init eink in board_init that will need their constructors updated for your addition.

@dhalbert
Copy link
Collaborator

I suggested this. I don't think there is a way to automatically detect it.

If the init sequence were broken into components, including the LUT, then it could be noticed, but I am not sure it is worth it, especially if the init sequence could be irregular in some way.

@dhalbert
Copy link
Collaborator

adafruit_magtag_2.9_grayscale and openbook_m4 are failing for code reasons.

stringcar_m0_express is failing for space reasons. I suggest adding this to its mpconfigboard.mk:

CIRCUITPY_USB_MIDI = 0

since it has no need for MIDI. There are a bunch of other things that could be removed too, but that's probably enough.

@dhalbert
Copy link
Collaborator

stringcar_m0_express is failing for space reasons. I suggest adding this to its mpconfigboard.mk:

CIRCUITPY_USB_MIDI = 0

since it has no need for MIDI. There are a bunch of other things that could be removed too, but that's probably enough.

It turns out I have to fix this for #5896 anyway, for the same reasons, so don't bother to do this yourself.

@dkulinski
Copy link
Author

Ok, I have fixed the two boards that failed and have committed my changes.

@dkulinski
Copy link
Author

I've updated the code for the two boards mentioned. I have also brought my repo into parity with the main repository. Builds for expressif fail but this looks to be an issue with the pipeline and not directly related to my code.

Copy link
Member

@tannewt tannewt 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! Thank you for the update. I agree that the ESP builds being broken isn't your fault. Will merge anyway and we'll fix ESP separately.

@tannewt tannewt merged commit 4a3c636 into adafruit:main Jan 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EPaperDisplay sequences are limited to less than 128 bytes due to DELAY byte implementation
3 participants