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

fds.c: m_op_queue.rp uninitialized

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

Related