Skip to main content

WiRa: Soft-reset does not work 10s after power-cycle

DA1469x

5 months ago

Posted by ali.acar 10 points 2 replies
0 upvotes

Hi,

my setup is as follows:

  • 2x SmartBond DA14695 Bluetooth low energy USB board
  • SDK: WiRa_10.440.8.6
  • SEGGER J-Link V6.99c
  • SmartSnippets Studio 2.0.16
  • Ubuntu 20.04
  • VMWare Workstation Pro 15.5.2

I can run the Wireless Ranging example with data exchange to the Python host (dte_iq_data_analyzer.py). For my responder the EXCHANGE_MODE is 0 while for my initiator it is 1. However, I want to soft-reset my initiator dongle before initiating the tone exchange. To achieve that I have uncommented the lines 53 and 54 dte_iq_data_analyzer.py.

With this initial reset I make the following observation:

When I start the dte_iq_data_analyzer.py script within about 10 seconds after a power-cycle (pressing the K2 button), I can successfully run the code. Thus, the soft-reset is working.

However, if I wait longer than about 10 seconds after the power-cycle, and then start dte_iq_data_analyzer.py I observe the following behavior:

  • LED is blinking during soft-reset
  • In the serial terminal nothing is received from the USB dongle
  • I get the following exception while trying to read the magic number in dte_iq_data_analyzer.py:    

        

D2522AB DTE IQ Data Analyzer
        Traceback (most recent call last):
          File "dte_iq_data_analyzer.py", line 78, in <module>
            magic_number_value = dut.rd_mem(32, magic_number_address, 1)
          File "/home/ali/Desktop/WiRa_10.440.8.6/projects/host_apps/python_iqdata_tools/pymon/pyjlink.py", line 252, in rd_mem
            raise pyJLinkException("Failed to read {} @ 0x{:08X}".format(numItems, addr))                
        pymon.pyjlink.pyJLinkException: Failed to read 1 @ 0x1FFFFC50

The exception occurs because the cmi_code_base_addr is read as 0. In the working case it is 0xe800.

I hope you can help me to fix this problem.

Thank you,
Ali

5 months ago

PM_Dialog

Hi Ali,

Thanks for your question online. Let me check this and I'll get back to you.

Thanks, PM_Dialog

5 months ago

PM_Dialog

Hi Ali,

You mentioned that you would like to SW-Reset the initiator dongle. So my question is why you need to modify the dte_iq_data_analyzer.py script in order to generate a SW-Reset. Could you please clarify it so we can understand better what you are trying to accomplish by modifying the script? That script is just testing the iq data and phase exchange.

The SW-Reset is triggered by setting the SYS_CTRL_REG[SW_RESET] bit to 1. When SYS_CTRL_REG[SW_RESET]=1, then it will generate a SW-Reset. Please see the DA1469x datasheet.

Thanks, PM_Dialog