klipper icon indicating copy to clipboard operation
klipper copied to clipboard

[WIP] display: Add support for `AIP31068` based displays

Open bazarovdev opened this issue 1 year ago • 1 comments

Adds support for YHCB2004 display used in Geeetech A10/M/T printers. The display is based on AIP31068 controller and uses 9-bit SPI commands. The details were found in Marlin FW that supports this display (see https://github.com/MarlinFirmware/Marlin/issues/25196).

This PR depends on merging of https://github.com/Klipper3d/klipper/pull/6633 to enable 9-bit SPI.

bazarovdev avatar Jul 10 '24 05:07 bazarovdev

Thank you for your contribution to Klipper. Unfortunately, a reviewer has not assigned themselves to this GitHub Pull Request. All Pull Requests are reviewed before merging, and a reviewer will need to volunteer. Further information is available at: https://www.klipper3d.org/CONTRIBUTING.html

There are some steps that you can take now:

  1. Perform a self-review of your Pull Request by following the steps at: https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review If you have completed a self-review, be sure to state the results of that self-review explicitly in the Pull Request comments. A reviewer is more likely to participate if the bulk of a review has already been completed.
  2. Consider opening a topic on the Klipper Discourse server to discuss this work. The Discourse server is a good place to discuss development ideas and to engage users interested in testing. Reviewers are more likely to prioritize Pull Requests with an active community of users.
  3. Consider helping out reviewers by reviewing other Klipper Pull Requests. Taking the time to perform a careful and detailed review of others work is appreciated. Regular contributors are more likely to prioritize the contributions of other regular contributors.

Unfortunately, if a reviewer does not assign themselves to this GitHub Pull Request then it will be automatically closed. If this happens, then it is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available.

Best regards, ~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

github-actions[bot] avatar Jul 24 '24 12:07 github-actions[bot]

Added padding to 8 commands and sending them as 9 byte sequence (as proposed in PR below) It eliminates need to change SW SPI driver (https://github.com/Klipper3d/klipper/pull/6633)

Tested on YHCB2004 display of Geeetech A10M: image

bazarovdev avatar Oct 27 '24 23:10 bazarovdev

Self review:

Free of defects: adds new dispaly driver. Attached image from testing on YHCB2004 display. Impact: gives option to integrate support to Geeetech A10/M/T, ender clones with mixing extruders (M=2in1out, T=3in1out) increasing user base of Klipper and potentially helping test features related to mixing. (Currently, most users stuck with Marlin or mainly replace stock board+display to work with Klipper. The facebook group of owners contains 6.3k users). Licensing: 1 file introduced with GNU GPLv3 licensing, commit signed-off. Guidelines: Tried to follow to my best understanding. Docs: PR contains update to docs related usage of new driver (same as hd44780_spi) Commits: 1 commit with 1 feature.

bazarovdev avatar Oct 28 '24 00:10 bazarovdev

@KevinOConnor Thanks for review, commited fixes, but feel free to edit if it is still not in needed style.

If merged, will prepare printer config for submission. Thanks, Alex

bazarovdev avatar Dec 02 '24 06:12 bazarovdev

Okay thanks. I was able to merge this. Unfortunately, github did something weird and the commit message got lost. Sorry about that.

-Kevin

KevinOConnor avatar Dec 02 '24 18:12 KevinOConnor

Thanks, I don't see what is got lost, so never mind.

my first PR to Klipper got merged :tada: 1 year from idea->fixed on christmas holidays->rewritten to avoid sw_spi changes->approved->merged. A metric for me to work on :chart_with_upwards_trend: :)

bazarovdev avatar Dec 02 '24 19:12 bazarovdev