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

Document that piomatter requires entire /dev/pio0 peripheral #25

Open
omnislash772 opened this issue Mar 3, 2025 · 1 comment
Open
Labels
documentation Improvements or additions to documentation

Comments

@omnislash772
Copy link

Tried using this with the Adafruit_Blinka_Raspberry_Pi5_Neopixel library and it seems I cannot instance both a Hub75 panel and a Neopixel strip at the same time. Only separately.

This can be tested by running the play_gif.py example code and then attempting to run any of the examples in the Neopixel examples (I am using pin D18 for this as it is free)

The result is that whichever example is run first will run but the second example will silently fail.

@jepler
Copy link
Member

jepler commented Mar 3, 2025

Yes, that is expected. This program requires all the resources of the PIO peripheral in order to operate.

Specifically, the GPIO pins used by the matrix are not required to be "in order", but can have gaps. Because of the way the PIO peripheral operates, this could only be accomplished in a specific way which would interfere with any other state machine operating in the same PIO peripheral. And, only one PIO peripheral is provided for use by Linux programs.

This could be better documented.

@jepler jepler added the documentation Improvements or additions to documentation label Mar 3, 2025
@jepler jepler changed the title Blocks PIO for other code/Multiprocessing Document that piomatter requires entire /dev/pio0 peripheral Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants