Replies: 3 comments 2 replies
-
There are several implementations of bitbang in the library; but they are platforms specific. NeoEspBitBangMethod.h might be a place to start; but also the NeoArmMethod.h (which has many bit bang specific to different ARM chips). The key is to find two specific chip features. The first is a low level cycle count for timing. The second is a low level pin level adjustment so that it is quick to change a pin level as the standard Arduino one is often VERY slow due to abstractions and argument checking done at the call rather than once for the parameters that will be used for the calls. |
Beta Was this translation helpful? Give feedback.
-
When I wrote the first PIO programs, I was thinking at some point I would look into the features to have a single PIO instance drive 8 channels (serial to parallel feature of PIO). So, a single PIO instance with four PIO channels could drive 32 busses. You could quickly run out memory and pins with that many hardware driven busses. |
Beta Was this translation helpful? Give feedback.
-
Would love to see a serial to parallel implementation for the PIO. That would give lots of powerful options to drive pixels without a lot of overhead. My question about bit-banged outputs was sort of a stop-gap to add just a few more outputs to my project (probably around 4) to the 12 PIO single outputs until a parallel implementation was available. Would prefer to just skip the bit-banging on the RP2040/RP2350 and go straight to serial to parallel on the PIO. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I have 12 outputs setup and working great using the RP2040 PIO methods on an RP2350. There's some other pins that I'd like to use, and I was wondering if it's possible to use those non-pio pins to drive pixels using a generic bit-bang method and how I'd go about doing that?
Beta Was this translation helpful? Give feedback.
All reactions