Hi Bert, Are you configuring the DMA similar to way he did:
https://web.archive.org/web/20221027190645/http://www.lucadavidian.com/2018/03/08/wifi-controlled-neo-pixels-strips/ ? Although on NuttX each driver is a separated instance, under the hook the basic configuration will be similar. BR, Alan On 11/9/23, Bert Voldenuit <bertvolden...@gmail.com> wrote: > Hello, > > I have figured what causes the transmission problem. > > I had to setup the Channel Control B Register with: > DMAC_CHCTRLB_TRIGACT_BLOCK instead of DMAC_CHCTRLB_TRIGACT_BEAT > > Because it would only do one pulse. With TRIGACT_BLOCK, it looks better but > DMAC do not read all the buffer. it seams that DMAC outputs one byte > (8bits) and then is jumping 8 bytes. Looking at the buffer below, it ouputs > only values in brackets. > > I tried to modify DMACH_FLAG_STEPSIZE_MASK value to DMACH_FLAG_STEPSIZE_X1 > but it has no impact. > I did the same with LPSRAM_BTCTRL_STEPSIZE_MASK. > > I am pretty sure that it has something to do with STEPSIZE. But I don't > understand why it has no impact at all. > > Is it because of DMACH_FLAG_MEM_INCREMENT set to automatic? > > Where am I supposed to configure the DMAC? in the samd_dmac.h, sam_dmac.h, > sam_dmac.c or spi.c?? I am a bit confused. > > The buffer (a short version of it) look like this: > 0x60 is ONE > 0x78 is ZERO > 0x0 is RESET > > > 0x200023c8: 0x[00]000000 0x00000000 0x[00]000000 0x00000000 > 0x200023d8: 0x[00]000000 0x00000000 0x[00]000000 0x00000000 > 0x200023e8: 0x[00]000000 0x00000000 0x[00]000000 0x00000000 > 0x200023f8: 0x[00]000000 0x00000000 0x[00]000000 0x60606060 > 0x20002408: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002418: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002428: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002438: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002448: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002458: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002468: 0x[60]606060 0x60606060 0x[60]606060 0x60606060 > 0x20002478: 0x[60]606060 > > Regards, > Bert. >