Dragos,
I've attached your original example with my modifications to support external (outside of the AD library) interrupt handling (see #if DISABLE_TO_AVOID_INTERRUPT_CONFLICT notes in transmitter.c). I've enabled an interrupt handler on VDMA completion (interrupts.c) but see no interrupt. It is set for edge triggered, and refers to the MM2S interrupt line (ID 91) in xparameters.h. My question is why am I not seeing an interrupt from the VDMA block? Could this be due to my modifications to avoid conflict with your interrupt handler(it should be disabled/bypassed)? I've even tried to manually force the interrupt (using delayed count and frame count complete modes) see below:
Xil_Out32((VDMA_BASEADDR + AXI_VDMA_REG_DMA_CTRL), val |= 1<<12); // enable interrupt on count reached
Xil_Out32((VDMA_BASEADDR + AXI_VDMA_REG_DMA_CTRL), val |= 60<<16); // enable 60 frames before stop/interrupt
This does not produce an interrupt either.
For reference, I'm using the provided .bit (no modifications) for testing.
Thanks for the help, I've tried everything but it just does not seem to work.
Regards,
Rich