Showing results for 
Search instead for 
Did you mean: 

DCMI and PSSI HAL DMA routines are not using half complete callbacks, but it is possible.

Georgy Moshkin
Senior II

Hello. I've noticed that DCMI/PSSI code does not provide this functionality, but it is very handy when using DMA in circular mode (ADC, frame buffer pumping to other interfaces, etc.). I've tested DCMI+DMA circular mode on F4 and PSSI+DMA circular mode on H7 and it works well with complete/half compete interrupts. Just need to manually add an XferHalfCpltCallback:

/* Set the PSSI DMA transfer complete callback */
        hpssi->hdmarx->XferCpltCallback = &MY_PSSI_DMAReceiveCplt;
        hpssi->hdmarx->XferHalfCpltCallback = &MY_PSSI_DMAReceiveHalfCplt;