Neopixel rp2040Show

Hello i was looking at the adafruit Neopixel source files and i noticed there is boardspecific "show()" functions

For example the
rp2040show(...)

I am using a rp2040 board, and very interested if i should use this instead of the regular show(). Can anyone tell me if its better or not? and how exactly different it is from regular show(),

No, you don't call it directly. If you look at the show() function, you will see a lot of #if defined ... statements that build in the correct assembly language routines based on the speed and architecture you are using. The rp2040 code is in it's own separate file (rp2040.c) with its own specific implementation.

In the IDE, when you compile a sketch, it automatically defines lots of AVR_xxx constants and things so the code can react properly to your specific board. It all gets taken care of "behind the scene" so you just call the regular .show()

1 Like

the comments suggests that the rp2040show() uses the a special peripheral of the rp2040 (PIO) to spit out the data, is it correct to assume that this is what it always defaults to when using a rp2040?

I mean i would like it to use the PIO as its less taxing during output.

yes.

1 Like