You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@FlightDataRecorder asked: With RP2040, "Also, are there any issues running NeoPixelBus on the 2nd Core of an RP2040? (i.e. Setup1 and Loop1.)"
There is no restriction on which core or thread you run it on. It's just best practice to keep it all on whatever thread you select. Call SetPixelColor() and Show() on the same thread.
The library contains no thread protection, but you can add you own around the calls to the library if you know what you are doing.
Lastly, since the RP2040 is done by PIO with DMA, the actual send is done in the background letting you core do other things. Calling Show() just prepares the data, lets the hardware know it can send it, and then returns; often returning before the first bit is even present on the physical data bus. This is great as it allows you to start to prepare the next frame while it is sending the current frame.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
@FlightDataRecorder asked: With RP2040, "Also, are there any issues running NeoPixelBus on the 2nd Core of an RP2040? (i.e. Setup1 and Loop1.)"
There is no restriction on which core or thread you run it on. It's just best practice to keep it all on whatever thread you select. Call SetPixelColor() and Show() on the same thread.
The library contains no thread protection, but you can add you own around the calls to the library if you know what you are doing.
Lastly, since the RP2040 is done by PIO with DMA, the actual send is done in the background letting you core do other things. Calling Show() just prepares the data, lets the hardware know it can send it, and then returns; often returning before the first bit is even present on the physical data bus. This is great as it allows you to start to prepare the next frame while it is sending the current frame.
Beta Was this translation helpful? Give feedback.
All reactions