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

WS2801: Support for WS2801 LEDs using SW SPI and HW SPI #6484

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

akrto
Copy link

@akrto akrto commented Feb 6, 2024

Since none of the existing LED drivers worked properly with WS2801 LED modules this driver was added.
Tested on Arduino Uno
Will not pass all regression tests due to dict files being outdated on gh.

Since none of the existing LED drivers worked properly with WS2801
LED modules this driver was added.
Tested on Arduino Uno
Will not pass all regression tests due to dict files being outdated on gh.

Signed-off-by: Anders Törnberg <[email protected]>
@KevinOConnor
Copy link
Collaborator

Thanks. I'm not very familiar with this LED type. How does it differ from the existing "dotstar" module?

-Kevin

@KevinOConnor KevinOConnor added the pending feedback Topic is pending feedback from submitter label Feb 17, 2024
@akrto
Copy link
Author

akrto commented Feb 18, 2024

Thanks. I'm not very familiar with this LED type. How does it differ from the existing "dotstar" module?

-Kevin

In short, the protocols are different :-)

The Dotstars (APA102) has framing built into the protocol, meaning that it is not affected by pauses in the data that would be caused by the entire data not fitting into one message from Host to MCU-board running the LEDs.
There is about 40 bytes of data in each message right?
APA102 also has global dimming, which is something that the WS2801 doesn´t.

The WS2801 relies on pauses between messages for framing, meaning that if not all data could fit into one message from host to MCU it would start all over with the data in the next message.
Because of that, I had to implement local LED-registry on the MCU-board, a´ la Neopixel style.

Thank you for all the hard work you guys put into this project, you guys rock!

Framing/protocol for Dotstars/APA102:
image

Framing/protocols for WS2801:
image

@KevinOConnor KevinOConnor removed the pending feedback Topic is pending feedback from submitter label Feb 18, 2024
Copy link

github-actions bot commented Mar 4, 2024

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.

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.

2 participants