Here’s a list of all the DMA channels we currently use in ArduCopter on pixhawk ( aka fmu-v2 in the build system) and what they are used for ( others will be similar )… you’ll see that of the 16 totally possible to be used, we are using most of them! .
USART6 RX => DMA2 STREAM2 CH5 ( usart 6 is used for high-speed comms to the IO cpu )
USART6 TX => DMA2 STREAM7 CH5
SDIO => DMA2 STREAM6 CH4
SPI1 RX => DMA2 STREAM0 CH3
SPI1 TX => DMA2 STREAM5 CH3
SPI2 RX => DMA1 STREAM3 CH0
SPI2 TX => DMA1 STREAM4 CH0
SPI4 RX => DMA2 STREAM3 CH5
SPI4 TX => DMA2 STREAM4 CH5
USART2 RX => DMA1 STREAM5 CH4
USART3 RX => DMA1 STREAM1 CH4
USART4 RX => DMA1 STREAM2 CH4
USART8 RX => DMA1 STREAM6 CH5
here’s the DMA table from the cpu/chip manufacturer:
It’s also worth noting that the pixhawk2 ( fmu-v2 or v3 , depends) and pixracer ( fmu-v4) boards have a slightly different set of DMA assignments, but are pretty similar generally.
Hi, I’m a complete n00b to Ardupilot. I watched a video on YouTube that states that I need a UART that has DMA access to make a CRSF receiver to work. How do I know which UART is the one that has it on a 3DR Pixhawk PX4?