BLE UART causes assertion error if multiple messages received

Our program was developed from the UART example to communicate message to our mobile app. The problem started showing up recently, so I’m not sure where the issue originates.

We are running OS 1.4.2 on the Argon and get an SOS 10 blink assertion failure or a 1 blink hard fault at sporadic times. I was able to duplicate the error by sending a command to perform a WiFi.scan(), then sending multiple more messages before the scan is complete. The crash occurs when the function block of the wifi.scan() completes. We do not get any debug messages of the later sent UART commands. I put a Serial print of the Bluetooth message received as the first line in the onDataReceived() function. The Argon does not seem to process our command before it crashes.

Any thoughts on what is causing this and/or a solution?

Have you tried to use the Workbench debugger?

The Workbench debugger uses the same pins we are using to connect to our SPI to CAN bus communication chip. I have not been able to get the debugger working correctly.

I’ll take another stab at it and see if anything shows up.

I looked into setting up debugging and found this as he first instruction:

Prepare for Debugging

In order to perform step debugging and a few other features, you’ll need to disable mesh and BLE support in your application firmware. This is to address a current limitation in software that DeviceOS depends on to handle real-time networking and communication.

#prepare-for-debugging

Looks like BLE cannot be debugged… Any other ideas?

Agreed that is a disappointing limitation.

@Joe Any ideas here?

@varnerb - would you mind opening a support ticket? I’d like to look into this further for you but it’ll likely take a bit of back-and-forth (and I’d frankly just like to have everything in one place). We’ll keep this post alive and updated as we progress!

I sent in a support ticket yesterday 84137.

Thanks

@ParticleD’s got this one! Thanks.

1 Like