Other Parts Discussed in Thread: CC2640
Hy there,
when trying to implement multirole feature in my CC2640 project (adding observer to a peripheral device) I see a crash of the application approx once in 48h. Crash means no more advertising, application stops. When debugging into a crashed device, I see an assertion fail in line 524 of mb_Patch.c
When reading out the CMDSTA register, I see 0x86 (SchedulingError)
What would be a proper reaction on this case? The current while(1) loop helps to debug the issue, but my device is not reactive any more. Is it possible to just ignore the issue and continue normal operation? Would a system reset be appropriate?
What might be the root cause of this issue? To my application: My device shall advertise (1 / s) and also listen to other advertisments (i.e. 2s every 10s).
For that reason, I added observer capabilities (gapRole_profileRole = GAP_PROFILE_PERIPHERAL | GAP_PROFILE_OBSERVER; and -DHOST_CONFIG=PERIPHERAL_CFG+OBSERVER_CFG )and use
GAP_SetParamValue(TGAP_GEN_DISC_SCAN, discLength);
GAP_SetParamValue(TGAP_LIM_DISC_SCAN, discLength);
to set the desired discovery time. With a timer I restart discovery with
GAPObserverRole_StartDiscovery(DEVDISC_MODE_ALL, TRUE, FALSE);
Is that a good way to solve my application? Might that be the reason for my crashes?
Best regards
Harald
