i don't see where the command queue index, m_op_queue.rp, is initialized.
when queue_process is called, the following line blows up:
fds_op_t * const p_op = &m_op_queue.op[m_op_queue.rp];
this occurs when using peer manager and a new device bonds with the peripheral. adding a check resolves the issue:
if ( m_op_queue.rp >= FDS_OP_QUEUE_SIZE )
{
m_op_queue.rp = 0;
}
SDK12.0.0