This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Got NRF_FAULT_ID_SD_ASSERT on S130 while doing sd_ble_gatts_hvx

When I repeatedly (>290 times) send the same notification to the connected host via sd_ble_gatts_hvx, I get a sd_assertion:

Fault identifier:  0x1
Program counter:   0x104FA
Fault information: 0x0
Fault identifier:  0x1
Program counter:   0x14D98
Fault information: 0x0

The payload is 10 bytes long, using S130 with SDK 12.1 on the PCA10028. sd_ble_tx_packet_count_get always returns 7 and the event BLE_EVT_TX_COMPLETE comes after every notification. I am trying to notify repeatedly a sensor reading to a connected host. The assertion sometimes comes after less readings or more. Can anybody give me a hint on that?

Here is the EmBlitz project: notifytest.zip

Here the Android host project: bluenodes.apk

The oscillogram showing disable_irq/enable_irq activities: image description

Parents
  • I improved everything you mentioned. Thanks for that, but nothing helped. TX packets are released as designed.

    The solution is as simple as frustrating: porting it back to SDK10 using S110 everything works perfect and no assert is ever thrown. The mesh version 0.8.5 from master is performing flawless. S130 since SDK11 is not stable as far as I experienced. Unfortunatly S110 was dereleased with SDK11, so I am stuck at SDK10.

Reply
  • I improved everything you mentioned. Thanks for that, but nothing helped. TX packets are released as designed.

    The solution is as simple as frustrating: porting it back to SDK10 using S110 everything works perfect and no assert is ever thrown. The mesh version 0.8.5 from master is performing flawless. S130 since SDK11 is not stable as far as I experienced. Unfortunatly S110 was dereleased with SDK11, so I am stuck at SDK10.

Children
No Data
Related