I am using two DWM3000 EVKs to run the original ss_twr_initiator and ss_twr_responder examples from DW3xxx_XR6.0C_24Feb2022.zip
The responder hardly received frames sent by the initiator; when it could receive a frame and sent back a response frame, the initiator always missed to receive.
If I run simple_tx and simple_rx examples, I see the receiver board could receive every tx frame.
Can you help to troubleshoot why the ss_twr_initiator could not receive any response frame from the responder? Should it need any calibration work?
Im using the same examples and was able to get it run using the St nucleo board
Which board are you using ?
Did you find out that certain packets were missing or did you receive no response at all on the serial port ?
The initiator receives no response at all; and the responder hardly receives frames sent by the initiator. In the code of the initiator, I see it sends out frames then wait for a timeout to check Rx frames; therefore, the Tx/Rx operation between the initiator and the responder is asynchronous so if any of them missed the event, it is hard to be in sync.
I use our company MCU board which runs on Cortex-M33. I adapt low-level SPI and other IO pins to interface with DWM3000 EVKs.
Any suggestion to troubleshoot on our MCU board? Because we want to bring a POC setup on our official device in later phase.
I tried to setup DWM300 EVK with STM32F429 Nucleo board to double check your result.
I import the below project in STM32CubeIDE
I search the whole folder and cannot find where to define these symbols
Do I miss any header files that define these symbols? Or can you help how to correctly build and run the project with STM32F4 Nucleo board
Thank you for the comment. You refer to my previous issue when I compile the demo for STM32F4 Nucleo board, don’t you? I could resolve the issue and successfully run the demo on my Nucleo board.
The pending issue is that I cannot run the same initiator demo on my target M33 platform board successfully; especially, the M33 failed to send the second Tx frame after it receives the first response from the responder demo.
yes it will not work for M33 platform board because the driver you are using is created specifically for stm32f4 (like port.h and deca_spi.h …) so if you want to use it in your board you have to modify a some lines of code in the driver to make it compatible with your board but to do this it will take so much time so for me what i did was i copied the twr initiator example into my man file (main.c) and then i copied only the variables and functions i will need for driver initiator which i have and it worked
I did the porting and my M33 platform could run read_dev_id, simple_tx and simple_rx demos successfully. That means SPI interface, decal lib have been setup correctly. For unknown reason, it failed the initiator demo.
I could resolve the issue. The root cause is that my M33 initiator had some delays in the code and using slow SPI SCK freq so that it causes longer delay in sending the final Tx message and the responder always timeouts to receive. I removed all delays and use 18MHz SPI clock; also increase the RX timeout timing at the responder side to have them work.