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

Peripheral fault from DLE with s132 v3.0?

I'm trying to maximize BLE throughput between a central and peripheral (I'm programming both) running the new s132 SoftDevice v3.0. I can't achieve the maximum data payload that I expect.

Following the migration document, I added the ATT_MTU exchange procedure and the Data Packet Length Extension, setting the MTU and the PDU to 251 on both sides, and I enabled Connection Event Length Extension. I also increased the size of the characteristic being written to 251 and set the Central's transmit bandwidth to high.

My current issue is that when I call sd_ble_gattc_write() on the Central with more than 62 bytes, the Peripheral hits some fault before the application receives the event. Even though my sniffer doesn't like extended packets, it seems to suggest that the Central is sending them properly, so the problem does seem to be with the Peripheral's SoftDevice. Are there any more obscurely documented modifications I should have made during my migration? Using a fault handler gives me no good info and I'm not using an IDE so I can't look at a call stack or anything.

By the way, are there updated serial port examples (a central and a peripheral) on the way? The ones in SDK12 have been updated to the new API, but they don't look like they exploit the new SD features.

Related