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.
>

Reply via email to