Hi Leo
When I say “at least I suppose” ,is because ,examples 1a 1b work properly
example 03a 03b is also working properly when I write and read in register 0x21
all results are correct,I also read APS022 hundred times,I have even scope the miso and mosi signals, and yes I do encountered the TXPUTE, and the HPDWARN sometimes,but the problem arise only when I use transmit with delay, and block when I put a value different than zero in the dwt_setrxtimeout function,I use all the example without any modification in the code above ,but for sure example 5a 5b doen’t work, cause of the famous transmit with delay .
after weeks of investigation on what is going wrong with the DWM1000 or DW1000
its sounds the problem come from the way things are done.
communication with the chipset is done through SPI,but in he API there are two many commands using the SPI,and that slowdown the process,and because timing is very tight ,when we use process involving delayed instructions,there are no many time left,unless we use big delay too leave the system enough time to cope with that.
in fact depending on each system api ,if the execution of SPI take too many cpu cycles,you are in big trouble,no matter are fast is your spi bus speed,your are stuck with the cpu execution time,because generally that involve too many instructions to execute the SPI writing or reading instruction