cancel
Showing results for 
Search instead for 
Did you mean: 

Reset BlueNRG-MS by connecting multiple devices simultaneously

Nick Ushakov
Associate II
Posted on December 13, 2016 at 12:55

I use BlueNRG-MS stack 7.2c, stackmode = 3

When connected only ONE device (mobile phone) to BlueNRG-MS everything works fine, but when  startup

aci_gap_set_discoverable

or

aci_gap_create_connection

for additional second connections after some time (3 - 10 minutes) BlueNRG-MS reset by the watchdog, before it come to the event EVT_HARDWARE_ERROR=0x10 (event = 0x10, subevt_code = 0x01) and (event = 0x10, subevt_code = 0x02)

Tell me, please, what should be done to avoid reset BlueNRG-MS?

log:

[05728777] event = 0x3E (EVT_LE_META_EVENT), subevent = 0x0001 (EVT_LE_CONN_COMPLETE)

[05728779] EVT_LE_CONN_COMPLETE status = 0 ; handle = 0x0801 ; role = 1 ; interval = 30.000000, latency = 0 , supervision_timeout = 72, master_clock_accuracy = 5

[05728897] [HCI_Event_CB] event = 0xFF (EVT_VENDOR), ecode = 0x0800 (EVT_BLUE_L2CAP_CONN_UPD_RESP)

[05728897] conn_handle = 0x0801 ; code = 0x13 ; identifier = 1, result = 0

[05729257] [HCI_Event_CB] event = 0x3E (EVT_LE_META_EVENT), subevent = 0x0003 (EVT_LE_CONN_UPDATE_COMPLETE)

[05729257] EVT_LE_CONN_UPDATE_COMPLETE status = 00 ; handle = 0801, interval = 168.750000, latency = 0, supervision_timeout = 100

....

[05732794] master_devices = 1 ; slave_devices = 0

[05732800] ENTER_DISCOVERY_MODE

[05732802] aci_gap_set_discoverable() OK

....

[06198908] [HCI_Event_CB] EVT_HARDWARE_ERROR event = 0x10, evt_code = 0x01

[06202624] [HCI_Event_CB] EVT_HARDWARE_ERROR event = 0x10, evt_code = 0x01

[06204480] [HCI_Event_CB] EVT_HARDWARE_ERROR event = 0x10, evt_code = 0x01

[06204820] [HCI_Event_CB] EVT_HARDWARE_ERROR event = 0x10, evt_code = 0x01

[06205674] [HCI_Event_CB] EVT_HARDWARE_ERROR event = 0x10, evt_code = 0x02

[06220667] [HCI_Event_CB] event = 0xFF (EVT_VENDOR), ecode = 0x0001 (Firmware started properly)

[06220667] EVT_BLUE_INITIALIZED Reset caused by watchdog

#multiple-devices-simultaneously #bluenrg-ms #ble
1 ACCEPTED SOLUTION

Accepted Solutions
Nick Ushakov
Associate II
Posted on December 21, 2016 at 12:31

I found the cause of my problems. It was all in the wrong value HS_Startup_Time. When I performed XTAL_startup_TEST, which is described in

http://www.st.com/content/ccc/resource/technical/document/application_note/46/0a/77/7b/04/f5/4c/b7/DM00116738.pdf/files/DM00116738.pdf/jcr:content/translations/en.DM00116738.pdf

, and performed calculations obtained a value which is greater (1311 µs) than the default value (800 µs).

Updated IFR and all perfectly worked.

View solution in original post

2 REPLIES 2
Nick Ushakov
Associate II
Posted on December 15, 2016 at 10:22

Found a workaround, when BlueNRG-MS sends to event EVT_HARDWARE_ERROR = 0x10 (event = 0x10, subevt_code = 0x01), I terminate the current process, with the command aci_gap_terminate_gap_procedure or aci_gap_set_non_discoverable, and run again (aci_gap_set_discoverable or aci_gap_create_connection).

The connection lasted 14 hours, which is very good, compared with 4 minutes as before.

I understand that this method is not correct, it is certainly desirable to find the right way to eliminate my problems.

Please help find the right solution.
Nick Ushakov
Associate II
Posted on December 21, 2016 at 12:31

I found the cause of my problems. It was all in the wrong value HS_Startup_Time. When I performed XTAL_startup_TEST, which is described in

http://www.st.com/content/ccc/resource/technical/document/application_note/46/0a/77/7b/04/f5/4c/b7/DM00116738.pdf/files/DM00116738.pdf/jcr:content/translations/en.DM00116738.pdf

, and performed calculations obtained a value which is greater (1311 µs) than the default value (800 µs).

Updated IFR and all perfectly worked.