adafruit / Adafruit_NeoPixel_ZeroDMA

DMA-based NeoPixel library for SAMD microcontrollers (Feather M0, M4, Arduino Zero, etc.)
MIT License
39 stars 13 forks source link

add nRF52840 DMA support (SPI? UART?) #13

Open ladyada opened 4 years ago

hathach commented 4 years ago

nrf52 has been using PWM DMA previously, but the show() is implemented as blocking, this PR change show() behavior to non-blokcing (until the next invocation) https://github.com/adafruit/Adafruit_NeoPixel/pull/229

RudolphRiedel commented 3 years ago

As I have been askeed lately about the Adafruit Feather nRF52840 in regards of my FT81x / BT81x display "library" which would benefit from the ability to write out a buffer with SPI over DMA, what is the status on adding nRF52840 to for example ZeroDMA library?

ladyada commented 3 years ago

zerodma is for the samd21/samd51 series. its better to just write a new library for DMA handling on the nrf because its totally different (but, thankfully, also a lot easier!)

RudolphRiedel commented 3 years ago

I just opened the nrF52840 documentation and this looks interesting. Right now I only wonder if it is possible to get an interrupt for when the transfer is done for a callback-function. So this probably would be something to be implemented directly into the SPI class. Like the SPI.transfer(txbuffer, rxbuffer, count, block) function in the Adafruit Arduino SAMD core. Or perhaps rather like the SPI.transfer(txbuffer, rxbuffer, count, callback) function from the Teensyduino core.

Yes, interesting, I only do not have any nRF5xx board yet.

myst729 commented 6 months ago

Is STM32F401 compatible? Since it's also Cortex M4.

dmytyk commented 5 months ago

Any plans on supporting the Arduino Nano RP2040 Connect? Once again thank you for all your efforts.