cp2004 / OctoPrint-WS281x_LED_Status

Add some RGB LEDs to your printer for a quick status update!
https://plugins.octoprint.org/plugins/ws281x_led_status
GNU Affero General Public License v3.0
111 stars 26 forks source link

[Request]: Klipper support #163

Closed birkanozer closed 3 years ago

birkanozer commented 3 years ago

What would you like implemented?

Is it possible to use his plugin with Klipper?

Why should this be implemented?

Klipper is highly sophisticated firmware for 3D printers. But build-in neopixel support isn't as sophisticated as this octoprint plugin.

cp2004 commented 3 years ago

There shouldn't be anything else you need to do, this plugin works with OctoPrint, regardless of what printer/firmware you use.

birkanozer commented 3 years ago

Hi, Thanks for the answer. But I didn't mean RaspberryPi interface. Most of the printer motherboard has dedicated NeoPixel interface on PCB. This type of connection is better in terms of power management. Klipper, despite other firmwares, can accept real-time API calls from Pi. We can define the motherboard pin (ex. PA2) instead of the Pi's GPIO pin and send commands to the mainbord over Klipper API.

cp2004 commented 3 years ago

This plugin communicates directly with the LEDs, using the Pi's SPI hardware. It's able to do this because it goes directly there, it can be fast and not complex code, allowing for more interesting animations and control over the LEDs. It addresses each LED in the strip directly, this would not be possible to do as fast as it can going through any kind of API as far as I understand how Klipper works. The WLED plugin is an example of how the API approach works, over network this time, but it relies on the ESP device to be able to run the effects, and so something similar would have to be implemented in Klipper. And by that point, you might as well implement the whole thing in Klipper, so no this is not something I or this plugin will be doing.