Hi everyone,
I’m using a DWM3000EVB with the DWM3xxx API from the DW3xxx_XR6.0C_24Feb2022 release.
The device ID is “DECA0302”.
I am trying to port the library to PSoC 6.
I have ported the “readfromspi()” and “writetospi()” methods in “deca_spi.c” file.
I am running the “read_dev_id” examples provided.
When calling the “dwt_probe” function it is returning “DWT_SUCCESS” however when calling the “dwt_readdevid” function, it doesn’t return anything.
I have traced the SPI lines using a logic analyser and I am receiving the device ID “DECA0302” twice from the chip. One from the
“dwt_probe” function call and once from the “dwt_readdevid” function call.
I have never worked with linker files but I modified it like so:
The drivers are being loaded in memory after using the following linker flag.
LDFLAGS= -L./decaLibs/DWM3XX/Shared/dwt_uwb_driver/lib -Wl,–whole-archive -ldwt_uwb_driver-m33-sfp-6.0.7 -Wl,–no-whole-archive
As per DW3xxx_Driver_API_Guide_6.0.14 - (Section 2.1.1), I’d like to use the device descriptor structure available inbuilt in the library, instead of building my own device descriptor structure.
I will be using only one DWM3000 device with the host MCU.
Questions:
- Will I be able to make use of the device descriptor inbuilt in the library? Why does calling “dwt_readdevid” result in the program halting.
- How do I write my own device descriptor? API guide and SDK guide doesn’t explain this.