Cordio Stack and Cordio Profiles  r2p3-02rel0
SMP Legacy Initiator Pairing Behavior

State table in smpi_sm.c

The following diagram and table are generated from the following state tables:

Note: Not pictured are the common events that may occur at any pairing state, excluding IDLE, which cause a state change to IDLE:

Event Action
SMP_MSG_DM_CONN_CLOSE SMPI_ACT_PAIRING_FAILED
SMP_MSG_CMD_PAIRING_FAILED SMPI_ACT_PAIRING_FAILED
SMP_MSG_API_CANCEL_REQ SMPI_ACT_PAIRING_CANCEL
SMP_MSG_INT_TIMEOUT SMPI_ACT_PAIRING_FAILED
dot_inline_dotgraph_4.png
Transition ID Event Action
1 SMP_MSG_API_PAIR_REQ SMPI_ACT_PAIR_REQ
2 SMP_MSG_DM_CONN_CLOSE SMPI_ACT_CLEANUP
SMP_MSG_API_CANCEL_REQ SMPI_ACT_CHECK_SECURITY_REQ
SMP_MSG_CMD_PKT SMPI_ACT_PROC_SECURITY_REQ
SMP_MSG_CMD_PAIRING_FAILED SMPI_ACT_NONE
SMP_MSG_INT_TIMEOUT SMPI_ACT_NONE
3 SMP_MSG_CMD_PKT SMPI_ACT_PROC_PAIR_RSP
4 SMP_MSG_API_AUTH_RSP SMPI_ACT_PAIR_CNF_CALC_1
5 SMP_MSG_WSF_AES_CMPL SMPI_ACT_PAIR_CNF_CALC_2
6 SMP_MSG_WSF_AES_CMPL SMPI_ACT_SEND_PAIR_CNF
7 SMP_MSG_CMD_PKT SMPI_ACT_PROC_PAIR_CNF
8 SMP_MSG_CMD_PKT SMPI_ACT_PAIR_CNF_VER_CALC_1
9 SMP_MSG_WSF_AES_CMPL SMPI_ACT_PAIR_CNF_VER_CALC_2
10 SMP_MSG_WSF_AES_CMPL SMPI_ACT_CNF_VERIFY
11 SMP_MSG_WSF_AES_CMPL SMPI_ACT_STK_ENCRYPT
12 SMP_MSG_INT_MAX_ATTEMPTS SMPI_ACT_MAX_ATTEMPTS
13 SMP_MSG_DM_ENCRYPT_CMPL SMPI_ACT_SETUP_KEY_DIST
14 SMP_MSG_DM_ENCRYPT_FAILED SMPI_ACT_PAIRING_FAILED
15 SMP_MSG_API_CANCEL_REQ SMPI_ACT_NONE
16 SMP_MSG_CMD_PKT SMPI_ACT_RCV_KEY
SMP_MSG_INT_SEND_NEXT_KEY SMPI_ACT_SEND_KEY
SMP_MSG_API_CANCEL_REQ SMPI_ACT_NONE
17 SMP_MSG_INT_PAIRING_CMPL SMPI_ACT_PAIRING_CMPL
18 SMP_MSG_INT_TIMEOUT SMPI_ACT_CHECK_ATTEMPTS
SMP_MSG_DM_CONN_CLOSE SMPI_ACT_CLEANUP
SMP_MSG_API_CANCEL_REQ SMPI_ACT_CLEANUP
19 SMP_MSG_CMD_PKT SMPI_ACT_ATTEMPT_RCVD
SMP_MSG_CMD_PAIRING_FAILED SMPI_ACT_NONE
20 SMP_MSG_API_PAIR_REQ SMPI_ACT_PAIR_REQ