
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,感谢您的回答!
我用了两块BOOSTXL-AoA,并且按照您给出的网址修改了程序,这是RTLS UI的显示:

但是我在进行auto paly的时候,他一直在初始化,并且rtls_ui.exe显示:
- WebSocket Proxy Client Raise Error : [WinError 10061] 由于目标计算机积极拒绝,无法连接。
- WebSocket Proxy Client Disconnected
请问您知道怎么解决吗?
您好,感谢您的回答!
关了防火墙和杀毒软件之后显示出来了,但是它仍然是显示不出passive的内容:

相对应的rtls_ui.exe的内容是:

相对应的log文件是:
[2021-05-21 11:07:41,179] root - INFO - Setting nodes :
[2021-05-21 11:07:41,181] asyncio - DEBUG - Using selector: SelectSelector
[2021-05-21 11:07:41,184] root - INFO - Message receiver started
[2021-05-21 11:07:41,185] root - INFO - RTLS Manager started
[2021-05-21 11:07:41,197] asyncio - DEBUG - Get address info localhost:5049, type=<SocketKind.SOCK_STREAM: 1>, flags=<AddressInfo.AI_PASSIVE: 1>
[2021-05-21 11:07:41,206] asyncio - DEBUG - Getting address info localhost:5049, type=<SocketKind.SOCK_STREAM: 1>, flags=<AddressInfo.AI_PASSIVE: 1> took 15.000ms: [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('::1', 5049, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('127.0.0.1', 5049))]
[2021-05-21 11:07:41,209] asyncio - DEBUG - poll took 15.000 ms: 1 events
[2021-05-21 11:07:41,211] asyncio - INFO - <Server sockets=[<socket.socket fd=1500, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 5049)>, <socket.socket fd=1548, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=0, laddr=('::1', 5049, 0, 0)>]> is serving
[2021-05-21 11:07:41,246] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 11:07:41,247] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 11:07:41,247] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 11:07:41,248] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 11:07:41,309] serialnode - DEBUG - <<< FE:0C:00:79:00:04:01:02:00:05:2C:77:2D:5E:8A:F8:08:25
[2021-05-21 11:07:41,309] serialnode - DEBUG - <<< FE:0C:00:79:00:94:00:02:00:05:FC:98:2D:5E:8A:F8:08:8B
[2021-05-21 11:07:41,311] serialnode - DEBUG - <<<
[2021-05-21 11:07:41,311] serialnode - DEBUG - <<<
[2021-05-21 11:07:41,312] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=04:01:02:00:05:2C:77:2D:5E:8A:F8:08)
[2021-05-21 11:07:41,312] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=94:00:02:00:05:FC:98:2D:5E:8A:F8:08)
[2021-05-21 11:07:41,312] serialnode - DEBUG - <<<
[2021-05-21 11:07:41,314] serialnode - DEBUG - <<<
[2021-05-21 11:07:41,531] asyncio - DEBUG - poll took 313.000 ms: 1 events
[2021-05-21 11:07:41,532] asyncio - DEBUG - <Server sockets=[<socket.socket fd=1500, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 5049)>, <socket.socket fd=1548, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=0, laddr=('::1', 5049, 0, 0)>]> got a new connection from ('127.0.0.1', 64050): <socket.socket fd=1568, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 5049), raddr=('127.0.0.1', 64050)>
[2021-05-21 11:07:41,535] websockets.protocol - DEBUG - server - state = CONNECTING
[2021-05-21 11:07:41,540] websockets.protocol - DEBUG - server - event = connection_made(<_SelectorSocketTransport fd=1568 read=idle write=<idle, bufsize=0>>)
[2021-05-21 11:07:41,547] websockets.protocol - DEBUG - server - state = OPEN
[2021-05-21 11:07:43,193] root - INFO - Done setting node
[2021-05-21 11:07:43,194] rtlsnode - INFO - PASSIVE : F8:8A:5E:2D:77:2C <-- {'type': 'Command', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': None}
[2021-05-21 11:07:43,194] rtlsnode - INFO - MASTER : F8:8A:5E:2D:98:FC <-- {'type': 'Command', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': None}
[2021-05-21 11:07:43,209] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,210] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,210] serialnode - DEBUG - >>> FE:00:00:39:20:19
[2021-05-21 11:07:43,211] serialnode - DEBUG - >>> FE:00:00:39:20:19
[2021-05-21 11:07:43,272] serialnode - DEBUG - <<< 00:FE:00:00:59:20:79
[2021-05-21 11:07:43,272] serialnode - DEBUG - <<< 00:FE:00:00:59:20:79
[2021-05-21 11:07:43,273] root - WARNING - ConstError('parsing expected 254 but parsed 0')
[2021-05-21 11:07:43,273] root - WARNING - ConstError('parsing expected 254 but parsed 0')
[2021-05-21 11:07:43,274] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,275] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,275] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,275] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,275] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,277] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,277] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,279] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 11:07:43,280] root - INFO - MASTER : F8:8A:5E:2D:98:FC --> {'type': 'Event', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': {'raw_payload': ''}}
[2021-05-21 11:07:43,280] asyncio - INFO - poll 20000.000 ms took 1703.000 ms: 1 events
[2021-05-21 11:07:43,282] root - INFO - PASSIVE : F8:8A:5E:2D:77:2C --> {'type': 'Event', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': {'raw_payload': ''}}
[2021-05-21 11:07:43,285] websockets.protocol - DEBUG - server > Frame(fin=True, opcode=1, data=b'{"identifier": "F8:8A:5E:2D:98:FC", "message": {"originator": "Nwp", "type": "AsyncReq", "subsystem": "RTLS", "command": "RTLS_CMD_RESET_DEVICE", "payload": {"raw_payload": ""}}}', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:07:43,286] websockets.protocol - DEBUG - server > Frame(fin=True, opcode=1, data=b'{"identifier": "F8:8A:5E:2D:77:2C", "message": {"originator": "Nwp", "type": "AsyncReq", "subsystem": "RTLS", "command": "RTLS_CMD_RESET_DEVICE", "payload": {"raw_payload": ""}}}', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:07:43,306] werkzeug - INFO - 127.0.0.1 - - [21/May/2021 11:07:43] "POST /rtls-ui/api/initialize HTTP/1.1" 200 -
[2021-05-21 11:07:43,418] rtlsnode - INFO - PASSIVE : F8:8A:5E:2D:77:2C <-- {'type': 'Command', 'command': 'RTLS_CMD_IDENTIFY', 'payload': None}
[2021-05-21 11:07:43,419] rtlsnode - INFO - MASTER : F8:8A:5E:2D:98:FC <-- {'type': 'Command', 'command': 'RTLS_CMD_IDENTIFY', 'payload': None}
[2021-05-21 11:07:43,463] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 11:07:43,464] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 11:07:43,465] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 11:07:43,465] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 11:07:43,526] serialnode - DEBUG - <<< FE:0C:00:79:00:04:01:02:00:05:2C:77:2D:5E:8A:F8:08:25
[2021-05-21 11:07:43,526] serialnode - DEBUG - <<< FE:0C:00:79:00:94:00:02:00:05:FC:98:2D:5E:8A:F8:08:8B
[2021-05-21 11:07:43,527] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,528] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,528] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=04:01:02:00:05:2C:77:2D:5E:8A:F8:08)
[2021-05-21 11:07:43,529] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=94:00:02:00:05:FC:98:2D:5E:8A:F8:08)
[2021-05-21 11:07:43,529] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,530] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=04:01:02:00:05:2C:77:2D:5E:8A:F8:08)
[2021-05-21 11:07:43,530] serialnode - DEBUG - <<<
[2021-05-21 11:07:43,531] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=94:00:02:00:05:FC:98:2D:5E:8A:F8:08)
[2021-05-21 11:07:43,533] root - INFO - PASSIVE : F8:8A:5E:2D:77:2C --> {'type': 'Response', 'command': 'RTLS_CMD_IDENTIFY', 'payload': {'capabilities': {'CM': False, 'AOA_TX': False, 'AOA_RX': True, 'RESERVED1': False, 'RTLS_CAP_CL_AOA': False, 'RESERVED2': False, 'RTLS_SLAVE': False, 'RTLS_MASTER': False, 'RTLS_PASSIVE': True}, 'revNum': 2, 'devId': 'DeviceFamily_ID_CC26X2', 'identifier': 'F8:8A:5E:2D:77:2C'}}
[2021-05-21 11:07:43,533] asyncio - DEBUG - poll 18282.000 ms took 250.000 ms: 1 events
[2021-05-21 11:07:43,534] root - INFO - MASTER : F8:8A:5E:2D:98:FC --> {'type': 'Response', 'command': 'RTLS_CMD_IDENTIFY', 'payload': {'capabilities': {'CM': False, 'AOA_TX': False, 'AOA_RX': True, 'RESERVED1': False, 'RTLS_CAP_CL_AOA': True, 'RESERVED2': False, 'RTLS_SLAVE': False, 'RTLS_MASTER': True, 'RTLS_PASSIVE': False}, 'revNum': 2, 'devId': 'DeviceFamily_ID_CC26X2', 'identifier': 'F8:8A:5E:2D:98:FC'}}
[2021-05-21 11:07:43,539] websockets.protocol - DEBUG - server > Frame(fin=True, opcode=1, data=b'{"identifier": "F8:8A:5E:2D:77:2C", "message": {"originator": "Nwp", "type": "SyncRsp", "subsystem": "RTLS", "command": "RTLS_CMD_IDENTIFY", "payload": {"capabilities": {"CM": false, "AOA_TX": false, "AOA_RX": true, "RESERVED1": false, "RTLS_CAP_CL_AOA": false, "RESERVED2": false, "RTLS_SLAVE": false, "RTLS_MASTER": false, "RTLS_PASSIVE": true}, "revNum": 2, "devId": "DeviceFamily_ID_CC26X2", "identifier": "F8:8A:5E:2D:77:2C"}}}', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:07:43,540] websockets.protocol - DEBUG - server > Frame(fin=True, opcode=1, data=b'{"identifier": "F8:8A:5E:2D:98:FC", "message": {"originator": "Nwp", "type": "SyncRsp", "subsystem": "RTLS", "command": "RTLS_CMD_IDENTIFY", "payload": {"capabilities": {"CM": false, "AOA_TX": false, "AOA_RX": true, "RESERVED1": false, "RTLS_CAP_CL_AOA": true, "RESERVED2": false, "RTLS_SLAVE": false, "RTLS_MASTER": true, "RTLS_PASSIVE": false}, "revNum": 2, "devId": "DeviceFamily_ID_CC26X2", "identifier": "F8:8A:5E:2D:98:FC"}}}', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:07:43,639] werkzeug - INFO - 127.0.0.1 - - [21/May/2021 11:07:43] "GET /rtls-ui/api/initialize HTTP/1.1" 200 -
[2021-05-21 11:08:01,575] asyncio - INFO - poll 18032.000 ms took 18032.000 ms: timeout
[2021-05-21 11:08:01,579] websockets.protocol - DEBUG - server > Frame(fin=True, opcode=9, data=b'\xc8\x13\x11.', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:08:01,584] asyncio - DEBUG - poll 20000.000 ms took 0.000 ms: 1 events
[2021-05-21 11:08:01,585] websockets.protocol - DEBUG - server < Frame(fin=True, opcode=10, data=b'\xc8\x13\x11.', rsv1=False, rsv2=False, rsv3=False)
[2021-05-21 11:08:01,586] websockets.protocol - DEBUG - server - received solicited pong: c813112e
[2021-05-21 11:08:18,018] asyncio - INFO - poll 20000.000 ms took 16438.000 ms: 1 events
[2021-05-21 11:08:18,019] asyncio - DEBUG - <_SelectorSocketTransport fd=1568 read=polling write=<idle, bufsize=0>>: Fatal read error on socket transport
Traceback (most recent call last):
File "asyncio\selector_events.py", line 814, in _read_ready__data_received
ConnectionResetError: [WinError 10054] Զ������ǿ�ȹر���һ�����е����ӡ�
[2021-05-21 11:08:18,021] websockets.protocol - DEBUG - server - event = connection_lost([WinError 10054] Զ������ǿ�ȹر���һ�����е����ӡ�)
[2021-05-21 11:08:18,021] websockets.protocol - DEBUG - server - state = CLOSED
[2021-05-21 11:08:18,022] websockets.protocol - DEBUG - server x code = 1006, reason = [no reason]
[2021-05-21 11:08:18,023] root - INFO - AOA Stopped
[2021-05-21 11:08:18,024] websockets.protocol - DEBUG - server ! failing WebSocket connection in the CLOSED state: 1006 [no reason]
[2021-05-21 11:08:18,028] websockets.protocol - DEBUG - server x half-closing TCP connection
[2021-05-21 11:08:18,804] asyncio - DEBUG - poll took 766.000 ms: 1 events
[2021-05-21 11:08:18,816] asyncio - DEBUG - Close <_WindowsSelectorEventLoop running=False closed=False debug=True>
请问您知道如何解决吗?
似乎是passive连接有问题,没有收到数据,检查paasive上的BOOSTXL-AoA是否连接正确
您好,感谢您的回答,我检查了一下连接,并且我让两个BOOSTXL-AoA都各自当了一次master和passive,结果如下:
1
.

2.


两次结果都是只显示master,不显示passive,这是不是意味着这板子的连接是正确的?如果是正确的,那为什么不显示passive的信息?
并且在我关闭防火墙和杀毒软件之后,她还是会时不时出来:
- WebSocket Proxy Client Raise Error : [WinError 10061] 由于目标计算机积极拒绝,无法连接。
- WebSocket Proxy Client Disconnected
以下是日志文件:
[2021-05-21 16:24:51,201] root - INFO - Setting nodes :
[2021-05-21 16:24:51,204] asyncio - DEBUG - Using selector: SelectSelector
[2021-05-21 16:24:51,206] root - INFO - Message receiver started
[2021-05-21 16:24:51,207] root - INFO - RTLS Manager started
[2021-05-21 16:24:51,217] asyncio - DEBUG - Get address info localhost:5049, type=<SocketKind.SOCK_STREAM: 1>, flags=<AddressInfo.AI_PASSIVE: 1>
[2021-05-21 16:24:51,224] asyncio - DEBUG - Getting address info localhost:5049, type=<SocketKind.SOCK_STREAM: 1>, flags=<AddressInfo.AI_PASSIVE: 1> took 16.000ms: [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('::1', 5049, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('127.0.0.1', 5049))]
[2021-05-21 16:24:51,226] asyncio - DEBUG - poll took 16.000 ms: 1 events
[2021-05-21 16:24:51,228] asyncio - INFO - <Server sockets=[<socket.socket fd=1600, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 5049)>, <socket.socket fd=1612, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=0, laddr=('::1', 5049, 0, 0)>]> is serving
[2021-05-21 16:24:51,270] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 16:24:51,271] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_IDENTIFY, data=)
[2021-05-21 16:24:51,272] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 16:24:51,272] serialnode - DEBUG - >>> FE:00:00:39:00:39
[2021-05-21 16:24:51,334] serialnode - DEBUG - <<< FE:0C:00:79:00:04:01:02:00:05:2C:77:2D:5E:8A:F8:08:25
[2021-05-21 16:24:51,334] serialnode - DEBUG - <<< FE:0C:00:79:00:94:00:02:00:05:FC:98:2D:5E:8A:F8:08:8B
[2021-05-21 16:24:51,337] serialnode - DEBUG - <<<
[2021-05-21 16:24:51,339] serialnode - DEBUG - <<<
[2021-05-21 16:24:51,340] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=04:01:02:00:05:2C:77:2D:5E:8A:F8:08)
[2021-05-21 16:24:51,340] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_IDENTIFY, data=94:00:02:00:05:FC:98:2D:5E:8A:F8:08)
[2021-05-21 16:24:51,341] serialnode - DEBUG - <<<
[2021-05-21 16:24:51,341] serialnode - DEBUG - <<<
[2021-05-21 16:24:53,220] root - INFO - Done setting node
[2021-05-21 16:24:53,222] rtlsnode - INFO - PASSIVE : F8:8A:5E:2D:77:2C <-- {'type': 'Command', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': None}
[2021-05-21 16:24:53,223] rtlsnode - INFO - MASTER : F8:8A:5E:2D:98:FC <-- {'type': 'Command', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': None}
[2021-05-21 16:24:53,237] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,239] serialnode - DEBUG - >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,240] serialnode - DEBUG - >>> FE:00:00:39:20:19
[2021-05-21 16:24:53,241] serialnode - DEBUG - >>> FE:00:00:39:20:19
[2021-05-21 16:24:53,300] serialnode - DEBUG - <<< 00:FE:00:00:59:20:79
[2021-05-21 16:24:53,301] serialnode - DEBUG - <<< 00:FE:00:00:59:20:79
[2021-05-21 16:24:53,302] root - WARNING - ConstError('parsing expected 254 but parsed 0')
[2021-05-21 16:24:53,302] root - WARNING - ConstError('parsing expected 254 but parsed 0')
[2021-05-21 16:24:53,303] serialnode - DEBUG - <<<
[2021-05-21 16:24:53,304] serialnode - DEBUG - <<<
[2021-05-21 16:24:53,306] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,306] serialnode - DEBUG - <<< UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,307] serialnode - DEBUG - <<<
[2021-05-21 16:24:53,307] serialnode - DEBUG - <<<
[2021-05-21 16:24:53,309] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,312] rtlsnode - DEBUG - Have 0 subscribers for UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_RESET_DEVICE, data=)
[2021-05-21 16:24:53,314] root - INFO - PASSIVE : F8:8A:5E:2D:77:2C --> {'type': 'Event', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': {'raw_payload': ''}}
[2021-05-21 16:24:53,317] root - INFO - MASTER : F8:8A:5E:2D:98:FC --> {'type': 'Event', 'command': 'RTLS_CMD_RESET_DEVICE', 'payload': {'raw_payload': ''}}
请问您知道这是怎么回事吗?
检查硬件连接是否正确https://dev.ti.com/tirex/explore/node?node=AANEtvJ3vSoqWPiI3wiqEA__FUz-xrs__LATEST&search=AOA
移动C51并使用JSC RF线连接到开发板上
您好!我按照您给的网址重现连接了一下板子,并且进行 了测试,测试过程为,三角板为 master,CC26X2R1为slave,两个三角板均显示出了结果。刚刚我又重现连接了两个BOOSTXL-AoA进行了测试,passive的信息确实都出来了,可是差不多持续了两分钟,就不动了,然后旁边的日志信息显示出:

并且我多重复了几次,均是上面的过程,passive的信息先显示几分钟,然后就停止,日志信息就如图所示,您知道是什么原因吗?急需您的答复,谢谢!!!
您好!感谢您的回答。
首先回答您的问题:使得程序交叉下载,都是一样的结果。
下面是板子的连接图:


下面是main.c文件,由于.c文件我没有上传成功,我将他们转成.txt文件进行了上传:
/******************************************************************************
@file main.c
@brief main entry of the BLE stack sample application.
Group: WCS, BTS
Target Device: cc13x2_26x2
******************************************************************************
Copyright (c) 2013-2021, Texas Instruments Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
*****************************************************************************/
/*******************************************************************************
* INCLUDES
*/
#include <xdc/runtime/Error.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Task.h>
#include "npi_data.h"
#include <icall.h>
#include "hal_assert.h"
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
#include "rtls_ctrl_api.h"
#include "rtls_master.h"
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
#ifndef USE_DEFAULT_USER_CFG
#include "ble_user_config.h"
// BLE user defined configuration
icall_userCfg_t user0Cfg = BLE_USER_CFG;
#endif // USE_DEFAULT_USER_CFG
#include <ti/display/Display.h>
/*******************************************************************************
* MACROS
*/
/*******************************************************************************
* CONSTANTS
*/
/*******************************************************************************
* TYPEDEFS
*/
/*******************************************************************************
* LOCAL VARIABLES
*/
/*******************************************************************************
* GLOBAL VARIABLES
*/
/*******************************************************************************
* EXTERNS
*/
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
Display_Handle dispHandle;
/*******************************************************************************
* @fn Main
*
* @brief Application Main
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
int main()
{
/* Register Application callback to trap asserts raised in the Stack */
RegisterAssertCback(AssertHandler);
Board_initGeneral();
// Enable iCache prefetching
VIMSConfigure(VIMS_BASE, TRUE, TRUE);
// Enable cache
VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
#if !defined( POWER_SAVING )
/* Set constraints for Standby, powerdown and idle mode */
// PowerCC26XX_SB_DISALLOW may be redundant
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
#endif // POWER_SAVING
user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
user0Cfg.appServiceInfo->timerMaxMillisecond = ICall_getMaxMSecs();
/* Initialize ICall module */
ICall_init();
/* Start tasks of external images - Priority 5 */
ICall_createRemoteTasks();
/* Kick off application - Priority 1 */
RTLSMaster_createTask();
/* Kick off RTLS Control module - Priority 2 */
rtlsConfiguration_t rtlsConfig;
rtlsConfig.rtlsCapab = (rtlsCapabilities_e)(RTLS_CAP_RTLS_MASTER | RTLS_CAP_AOA_RX);
#ifdef USE_PERIODIC_SCAN
rtlsConfig.rtlsCapab |= RTLS_CAP_CL_AOA;
#endif
// Device ID and revision
rtlsConfig.devId = DeviceFamily_ID;
rtlsConfig.revNum = RTLS_CTRL_REV;
rtlsConfig.maxNumConns = MAX_NUM_BLE_CONNS;
memcpy(rtlsConfig.identifier, CHIP_ID_ADDR, CHIP_ID_SIZE);
rtlsConfig.rtlsAppCb = RTLSMaster_rtlsCtrlMsgCb;
RTLSCtrl_open(&rtlsConfig);
/* enable interrupts and start SYS/BIOS */
BIOS_start();
return 0;
}
/*******************************************************************************
* @fn AssertHandler
*
* @brief This is the Application's callback handler for asserts raised
* in the stack. When EXT_HAL_ASSERT is defined in the Stack
* project this function will be called when an assert is raised,
* and can be used to observe or trap a violation from expected
* behavior.
*
* As an example, for Heap allocation failures the Stack will raise
* HAL_ASSERT_CAUSE_OUT_OF_MEMORY as the assertCause and
* HAL_ASSERT_SUBCAUSE_NONE as the assertSubcause. An application
* developer could trap any malloc failure on the stack by calling
* HAL_ASSERT_SPINLOCK under the matching case.
*
* An application developer is encouraged to extend this function
* for use by their own application. To do this, add hal_assert.c
* to your project workspace, the path to hal_assert.h (this can
* be found on the stack side). Asserts are raised by including
* hal_assert.h and using macro HAL_ASSERT(cause) to raise an
* assert with argument assertCause. the assertSubcause may be
* optionally set by macro HAL_ASSERT_SET_SUBCAUSE(subCause) prior
* to asserting the cause it describes. More information is
* available in hal_assert.h.
*
* input parameters
*
* @param assertCause - Assert cause as defined in hal_assert.h.
* @param assertSubcause - Optional assert subcause (see hal_assert.h).
*
* output parameters
*
* @param None.
*
* @return None.
*/
void AssertHandler(uint8 assertCause, uint8 assertSubcause)
{
// Sleep 20 msec, allow NPI task to send pending events
Task_sleep(20000/10);
//Set current task to lowest priority
Task_setPri(Task_self(), 1);
// Free NPI task to send final NPI assert message
NPIData_postAssertNpiMsgEvent(assertCause);
// Open the display if the app has not already done so
if ( !dispHandle )
{
dispHandle = Display_open(Display_Type_ANY, NULL);
}
Display_print0(dispHandle, 0, 0, ">>>STACK ASSERT");
// check the assert cause
switch (assertCause)
{
case HAL_ASSERT_CAUSE_OUT_OF_MEMORY:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> OUT OF MEMORY!");
break;
case HAL_ASSERT_CAUSE_INTERNAL_ERROR:
// check the subcause
if (assertSubcause == HAL_ASSERT_SUBCAUSE_FW_INERNAL_ERROR)
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL FW ERROR!");
}
else
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL ERROR!");
}
break;
case HAL_ASSERT_CAUSE_ICALL_ABORT:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> ICALL ABORT!");
HAL_ASSERT_SPINLOCK;
break;
default:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> DEFAULT SPINLOCK!");
HAL_ASSERT_SPINLOCK;
}
return;
}
/*******************************************************************************
* @fn smallErrorHook
*
* @brief Error handler to be hooked into TI-RTOS.
*
* input parameters
*
* @param eb - Pointer to Error Block.
*
* output parameters
*
* @param None.
*
* @return None.
*/
void smallErrorHook(Error_Block *eb)
{
for (;;);
}
/*******************************************************************************
*/
/******************************************************************************
@file main.c
@brief main entry of the Micro BLE test application.
Group: WCS, BTS
Target Device: cc13x2_26x2
******************************************************************************
Copyright (c) 2013-2021, Texas Instruments Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
*****************************************************************************/
/******************************************************************************
*
* INCLUDES
*/
#include <xdc/runtime/Error.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include <ti/display/Display.h>
#include <ti/sysbios/knl/Task.h>
#include "npi_data.h"
#include <hal_assert.h>
#include <bcomdef.h>
#include <string.h>
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
#include "rtls_ctrl_api.h"
#include "micro_ble_cm.h"
#include "rtls_passive.h"
#include "osal_snv.h"
/*******************************************************************************
* MACROS
*/
/*******************************************************************************
* CONSTANTS
*/
/*******************************************************************************
* TYPEDEFS
*/
/*******************************************************************************
* LOCAL VARIABLES
*/
/*******************************************************************************
* GLOBAL VARIABLES
*/
/*******************************************************************************
* EXTERNS
*/
extern assertCback_t halAssertCback;
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
extern Display_Handle dispHandle;
/*******************************************************************************
* @fn Main
*
* @brief Application Main
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
int main()
{
/* Register Application callback to trap asserts raised in the Stack */
halAssertCback = AssertHandler;
PIN_init(BoardGpioInitTable);
/* Enable iCache prefetching */
VIMSConfigure(VIMS_BASE, TRUE, TRUE);
/* Enable cache */
VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
#ifndef POWER_SAVING
/* Set constraints for Standby, powerdown and idle mode */
/* PowerCC26XX_SB_DISALLOW may be redundant */
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
#endif /* POWER_SAVING */
// Initialize NV System
osal_snv_init();
/* Create Application task. */
RTLSPassive_init();
RTLSPassive_stack_init();
/* Kick off RTLS Control module - Priority 2 */
rtlsConfiguration_t rtlsConfig;
rtlsConfig.rtlsCapab = (rtlsCapabilities_e)(RTLS_CAP_RTLS_PASSIVE | RTLS_CAP_AOA_RX);
// Device ID and revision
rtlsConfig.devId = DeviceFamily_ID;
rtlsConfig.revNum = RTLS_CTRL_REV;
rtlsConfig.maxNumConns = CM_MAX_SESSIONS;
memcpy(rtlsConfig.identifier, CHIP_ID_ADDR, CHIP_ID_SIZE);
rtlsConfig.rtlsAppCb = RTLSPassive_rtlsCtrlMsgCb;
RTLSCtrl_open(&rtlsConfig);
BIOS_start(); /* enable interrupts and start SYS/BIOS */
return 0;
}
/*******************************************************************************
* @fn AssertHandler
*
* @brief This is the callback handler for asserts raised in the stack or
* the application.
*
* An application developer is encouraged to extend this function
* for use by their own application. To do this, add hal_assert.c
* to your project workspace, the path to hal_assert.h (this can
* be found on the stack side). Asserts are raised by including
* hal_assert.h and using macro HAL_ASSERT(cause) to raise an
* assert with argument assertCause. the assertSubcause may be
* optionally set by macro HAL_ASSERT_SET_SUBCAUSE(subCause) prior
* to asserting the cause it describes. More information is
* available in hal_assert.h.
*
* input parameters
*
* @param assertCause - Assert cause as defined in hal_assert.h.
* @param assertSubcause - Optional assert subcause (see hal_assert.h).
*
* output parameters
*
* @param None.
*
* @return None.
*/
void AssertHandler(uint8 assertCause, uint8 assertSubcause)
{
// Sleep 20 msec, allow NPI task to send pending events
Task_sleep(20000/10);
//Set current task to lowest priority
Task_setPri(Task_self(), 1);
// Free NPI task to send final NPI assert message
NPIData_postAssertNpiMsgEvent(assertCause);
// Open the display if the app has not already done so
if ( !dispHandle )
{
#if !defined(Display_DISABLE_ALL)
#if !defined(BOARD_DISPLAY_EXCLUDE_LCD)
dispHandle = Display_open(Display_Type_LCD, NULL);
#elif !defined (BOARD_DISPLAY_EXCLUDE_UART)
dispHandle = Display_open(Display_Type_UART, NULL);
#endif // BOARD_DISPLAY_EXCLUDE_LCD, BOARD_DISPLAY_EXCLUDE_UART
#endif // Display_DISABLE_ALL
}
// check the assert cause
switch (assertCause)
{
case HAL_ASSERT_CAUSE_INTERNAL_ERROR:
// check the subcause
if (assertSubcause == HAL_ASSERT_SUBCAUSE_FW_INERNAL_ERROR)
{
#if !defined(Display_DISABLE_ALL)
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL FW ERROR!");
#endif
}
else
{
#if !defined(Display_DISABLE_ALL)
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL ERROR!");
#endif
}
break;
default:
#if !defined(Display_DISABLE_ALL)
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> DEFAULT SPINLOCK!");
#endif
HAL_ASSERT_SPINLOCK;
}
return;
}
/*******************************************************************************
* @fn smallErrorHook
*
* @brief Error handler to be hooked into TI-RTOS.
*
* input parameters
*
* @param eb - Pointer to Error Block.
*
* output parameters
*
* @param None.
*
* @return None.
*/
void smallErrorHook(Error_Block *eb)
{
for (;;);
}
/*******************************************************************************
*/
/******************************************************************************
@file main.c
@brief main entry of the BLE stack sample application.
Group: WCS, BTS
Target Device: cc13x2_26x2
******************************************************************************
Copyright (c) 2013-2021, Texas Instruments Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
*****************************************************************************/
/*******************************************************************************
* INCLUDES
*/
#include <xdc/runtime/Error.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include <icall.h>
#include "hal_assert.h"
#include "bcomdef.h"
#include "rtls_slave.h"
#include "rtls_ctrl_api.h"
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
#ifndef USE_DEFAULT_USER_CFG
#include "ble_user_config.h"
// BLE user defined configuration
icall_userCfg_t user0Cfg = BLE_USER_CFG;
#endif // USE_DEFAULT_USER_CFG
#include <ti/display/Display.h>
/*******************************************************************************
* MACROS
*/
/*******************************************************************************
* CONSTANTS
*/
/*******************************************************************************
* TYPEDEFS
*/
/*******************************************************************************
* LOCAL VARIABLES
*/
/*******************************************************************************
* GLOBAL VARIABLES
*/
/*******************************************************************************
* EXTERNS
*/
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
extern Display_Handle dispHandle;
/*******************************************************************************
* @fn Main
*
* @brief Application Main
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
int main()
{
/* Register Application callback to trap asserts raised in the Stack */
RegisterAssertCback(AssertHandler);
Board_initGeneral();
// Enable iCache prefetching
VIMSConfigure(VIMS_BASE, TRUE, TRUE);
// Enable cache
VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
#if !defined( POWER_SAVING )
/* Set constraints for Standby, powerdown and idle mode */
// PowerCC26XX_SB_DISALLOW may be redundant
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
#endif // POWER_SAVING
/* Update User Configuration of the stack */
user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
user0Cfg.appServiceInfo->timerMaxMillisecond = ICall_getMaxMSecs();
/* Initialize ICall module */
ICall_init();
/* Start tasks of external images - Priority 5 */
ICall_createRemoteTasks();
RTLSSlave_createTask();
/* Kick off RTLS Control module - Priority 2 */
rtlsConfiguration_t rtlsConfig;
rtlsConfig.rtlsCapab = (rtlsCapabilities_e)(RTLS_CAP_RTLS_SLAVE | RTLS_CAP_AOA_TX);
rtlsConfig.devId = DeviceFamily_ID;
rtlsConfig.revNum = RTLS_CTRL_REV;
rtlsConfig.maxNumConns = 1;
memcpy(rtlsConfig.identifier, CHIP_ID_ADDR, CHIP_ID_SIZE);
rtlsConfig.rtlsAppCb = RTLSSlave_rtlsCtrlMsgCb;
RTLSCtrl_open(&rtlsConfig);
/* enable interrupts and start SYS/BIOS */
BIOS_start();
return 0;
}
/*******************************************************************************
* @fn AssertHandler
*
* @brief This is the Application's callback handler for asserts raised
* in the stack. When EXT_HAL_ASSERT is defined in the Stack
* project this function will be called when an assert is raised,
* and can be used to observe or trap a violation from expected
* behavior.
*
* As an example, for Heap allocation failures the Stack will raise
* HAL_ASSERT_CAUSE_OUT_OF_MEMORY as the assertCause and
* HAL_ASSERT_SUBCAUSE_NONE as the assertSubcause. An application
* developer could trap any malloc failure on the stack by calling
* HAL_ASSERT_SPINLOCK under the matching case.
*
* An application developer is encouraged to extend this function
* for use by their own application. To do this, add hal_assert.c
* to your project workspace, the path to hal_assert.h (this can
* be found on the stack side). Asserts are raised by including
* hal_assert.h and using macro HAL_ASSERT(cause) to raise an
* assert with argument assertCause. the assertSubcause may be
* optionally set by macro HAL_ASSERT_SET_SUBCAUSE(subCause) prior
* to asserting the cause it describes. More information is
* available in hal_assert.h.
*
* input parameters
*
* @param assertCause - Assert cause as defined in hal_assert.h.
* @param assertSubcause - Optional assert subcause (see hal_assert.h).
*
* output parameters
*
* @param None.
*
* @return None.
*/
void AssertHandler(uint8 assertCause, uint8 assertSubcause)
{
// Open the display if the app has not already done so
if ( !dispHandle )
{
dispHandle = Display_open(Display_Type_ANY, NULL);
}
Display_print0(dispHandle, 0, 0, ">>>STACK ASSERT");
// check the assert cause
switch (assertCause)
{
case HAL_ASSERT_CAUSE_OUT_OF_MEMORY:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> OUT OF MEMORY!");
break;
case HAL_ASSERT_CAUSE_INTERNAL_ERROR:
// check the subcause
if (assertSubcause == HAL_ASSERT_SUBCAUSE_FW_INERNAL_ERROR)
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL FW ERROR!");
}
else
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL ERROR!");
}
break;
case HAL_ASSERT_CAUSE_ICALL_ABORT:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> ICALL ABORT!");
HAL_ASSERT_SPINLOCK;
break;
case HAL_ASSERT_CAUSE_ICALL_TIMEOUT:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> ICALL TIMEOUT!");
HAL_ASSERT_SPINLOCK;
break;
case HAL_ASSERT_CAUSE_WRONG_API_CALL:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> WRONG API CALL!");
HAL_ASSERT_SPINLOCK;
break;
default:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> DEFAULT SPINLOCK!");
HAL_ASSERT_SPINLOCK;
}
return;
}
/*******************************************************************************
* @fn smallErrorHook
*
* @brief Error handler to be hooked into TI-RTOS.
*
* input parameters
*
* @param eb - Pointer to Error Block.
*
* output parameters
*
* @param None.
*
* @return None.
*/
void smallErrorHook(Error_Block *eb)
{
for (;;);
}
/*******************************************************************************
*/
您看看是哪里出了问题,期待您的答复,谢谢。
还有新的开发板吗,直接将master程序烧录到新开发板中,不连BOOSTXL-AoA也不用移动电容
你用SDK4.30中的例程测一下看看是否正常:https://www.ti.com.cn/tool/download/SIMPLELINK-CC13X2-26X2-SDK/4.30.00.54
您好,感谢您的回答!
关于sdk4.30:我尝试了很多次,都是这样的;
关于交叉测试:确实,不知为什么当时的版本号不对,所以我重新进行了测试:以下是测试结果


从这两章图中可以看出,两个板子当充当master的角色时,都是可以显示出波形的,但是当充当passive时,只能显示一会,但是一个可以显示几分钟,一个只能显示几秒钟,请问为什么交换后显示的持续时间是不一样的?
另外,我看到了这个https://e2echina.ti.com/support/wireless-connectivity/bluetooth/f/bluetooth-forum/188156/cc26x2r-master-passive-passive,里面说是和信号和环境有关系,但是为什么在同样的环境和信号中,交叉测试之后,不同的板子会显示持续时间不同的passive信息?
期待您的答复!
关于sdk4.30:我尝试了很多次,都是这样的;
浏览器换成Edge试试
请问为什么交换后显示的持续时间是不一样的?
你拿到空旷的地方测一下看看是否会有改变
你的paasive只显示一会儿数据基本上是环境噪声太大导致断开的
你带到室外空旷的地带应该会好很多,或者在消音室中测量就会有连续的结果
1 一个slave是否能给多个master发送信号?2 一个master是否能接受多个slave发送的信号?
这是另一个问题了,为方便其他人查找,建议你重开一个新帖