Compiling modified source code using SystemWorkbench

Hello everyone,

I am trying to increase the update frequency by decreasing the slot times and test the modified code on the boards. I am currently having some issues with compiling the code. I am new to this area so I will tell you exactly what I have been doing.

  1. I used the .ioc file from TREK1000 CubeMx folder and generated code using STM32CubeMx. I have not modified any configuration here, I simply loaded the existent file saved it elsewhere and generated the code.
  2. Copied the folders application, usb, decadriver, platform and compiler from src of the folder downloaded from Decawave into the Src of newly generated code.
  3. Modified main.c, dw_main.c according to the original files and complied the code in System Workbench
  4. I flashed the boards with newly generated .hex file using STM32CubeProgrammer

Issues I am facing currently:

  1. Even though Anchor #0 is connected to the PC, the PC application is not working.
  2. 110 Kbps mode is working, I can see the correct distances on the display of the boards. But 6.81 Mbps mode is not working.

I have tried many different search terms and looked up the forum, but I couldn’t find anything. Another experienced friend of mine compiled it using some other way but we still have the same issue. Can someone please help me figure out what could be going wrong?

Thank you,

Can you expand more on the issues you are seeing?

Does 110k mode Anchor #0 work with the PC application? If not, what output do you get on the teraterm, e.g. not using Qt app, but a teraterm application to look at serial data from VCOM port?

Have you changed any slot timings?

Hi Zoran,

  1. I can see the distances displayed on the board display for 110Kbps, but the PC application is not working.
  2. If I change to 6.8Mbps the boards display nothing and of course the application is still not working.

I installed tera term to see what is happening, I don’t know what the values being displayed mean, but I attached a screenshot for 110Kbps, but nothing happens for 6.8Mbps which I assume means there is no communication between the boards.

I intend to change the slot timings. 18ms for 110Kbps which already works and 3ms for 6.8Mbps which I haven’t gotten a chance to test out. Even before modifying the code, I am facing the same issues.

The data coming out on the COM port is described in TREK Source Code guide (section 2.6. Format of ranging results…).

From your data, I see that tag is ranging to 3 anchors, 1 and 2 are about 70cm and 20cm and 3rd is changing between a -ve number and small positive. Are these correct? How far away from each other are your anchors/tag?

What is the version of GUI you are using?

Yes, the data is correct, all 4 boards were pretty close to each other. I was only concerned whether or not there was communication. I tested them at measured distances and the values are accurate.

And what GUI version do you want to know?