summaryrefslogtreecommitdiff
path: root/cesar/cp/fsm/src/fsm/cp.fsm
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp/fsm/src/fsm/cp.fsm')
-rw-r--r--cesar/cp/fsm/src/fsm/cp.fsm58
1 files changed, 52 insertions, 6 deletions
diff --git a/cesar/cp/fsm/src/fsm/cp.fsm b/cesar/cp/fsm/src/fsm/cp.fsm
index 991748a1e7..7d59d0edd2 100644
--- a/cesar/cp/fsm/src/fsm/cp.fsm
+++ b/cesar/cp/fsm/src/fsm/cp.fsm
@@ -49,6 +49,10 @@ States:
Same as USTA_JOINING, but the STA is doing SC procedure at the same time.
SC_UCCO
Same as UCCO, but the STA is doing SC procedure at the same time.
+ SC_STA
+ Same as STA, but the STA is doing SC procedure at the same time.
+ SC_CCO
+ Same as CCO, but the STA is doing SC procedure at the same time.
Events:
to_assoc
@@ -109,8 +113,6 @@ Events:
sc_get_cco_functionality
When the SC FSM need the main FSM to move to a state to get CCo
functionalities.
- sc_start_sc_assoc
- When SC FSM want the main FSM to start the sc_assoc.
CC_DISCOVER_LIST_REQ
CC_DISCOVER_LIST_CNF
@@ -304,9 +306,14 @@ USTA:
SC_USTA:
BEACON_TIMER_EXPIRES -> . [cp_beacon_beacon_not_received]
BEACON -> . [cp_sta_action_poweron_sc__usta__beacon]
- Track AVLN.
+ track AVLN.
net_list_empty -> SC_UCCO [NULL]
- sc_start_sc_assoc -> SC_USTA_JOINING [NULL]
+ no more AVLN to track, go to SC_UCCO.
+ sc_get_cco_functionality -> SC_UCCO [NULL]
+ TODO
+ sc_succeed -> SC_USTA_JOINING [NULL]
+ SC procedure finished, start association.
+ sc_failed -> USTA [NULL]
to_stop -> IDLE [cp_sta_action_poweron__many__to_idle]
POWERON_JOINING:
@@ -321,7 +328,11 @@ USTA_JOINING:
SC_USTA_JOINING:
BEACON_TIMER_EXPIRES -> . [cp_beacon_beacon_not_received]
- sc_succeed -> STA [NULL]
+ joined -> STA [NULL]
+ SC procedure (association part), finished, we are now a STA in the AVLN.
+ left -> USTA [NULL]
+ SC procedure (association part) failed.
+ to_stop -> UNASSOCIATING [cp_sta_action_poweron__joining__to_stop]
POWERON_JOINING, USTA_JOINING:
joined -> STA [NULL]
@@ -336,12 +347,30 @@ UCCO:
CC_WHO_RU_REQ -> . [cp_sta_action_process_cc_who_ru_req]
CC_ASSOC_REQ -> . [cp_cco_action__ucco__cc_assoc_req]
+SC_UCCO:
+ BEACON_TIMER_EXPIRES -> . [cp_beacon_cco_send_discover_beacon]
+ BEACON -> SC_USTA [cp_sta_action_poweron__ucco__beacon]
+ Still doing SC procedure, but in USTA.
+ CC_ASSOC_REQ -> . [NULL]
+ TODO: Reply with temporary failure.
+ CC_WHO_RU_REQ -> . [cp_sta_action_process_cc_who_ru_req]
+ to_stop -> IDLE [cp_sta_action_poweron__many__to_idle]
+
STA:
BEACON_TIMER_EXPIRES -> . [cp_beacon_beacon_not_received]
avln_failure -> POWERON [NULL]
left -> USTA [NULL]
to_stop -> UNASSOCIATING [cp_sta_action_poweron__sta__to_stop]
+SC_STA:
+ BEACON_TIMER_EXPIRES -> . [cp_beacon_beacon_not_received]
+ avln_failure -> POWERON [NULL]
+ TODO: stop SC procedure.
+ left -> SC_USTA [NULL]
+ to_stop -> UNASSOCIATING [cp_sta_action_poweron__sta__to_stop]
+ sc_failed -> STA [NULL]
+ sc_succeed -> STA [NULL]
+
CCO:
BEACON_TIMER_EXPIRES -> . [cp_beacon_cco_send_central_beacon]
join_timeout: sta -> . [cp_sta_action_poweron__cco__join_timeout]
@@ -358,12 +387,29 @@ CCO:
CM_GET_KEY_REQ_PID0 -> . [cp_cco_action__cco__cm_get_key_req_pid0]
CC_LEAVE_REQ -> . [cp_cco_action__cco__cc_leave]
+SC_CCO:
+ BEACON_TIMER_EXPIRES -> . [cp_beacon_cco_send_central_beacon]
+ join_timeout: sta -> . [cp_sta_action_poweron__cco__join_timeout]
+ join_timeout: no sta avln -> SC_USTA
+ join_timeout: no sta no avln -> SC_UCCO
+ all_sta_leaved -> . [cp_sta_action_poweron__cco__all_sta_leaved]
+ to_stop -> UNASSOCIATING [cp_cco_action__drv_mac_stop]
+ change_nek -> . [cp_cco_action_gen_nek]
+ snid_conflict -> . [cp_cco_action_snid_change]
+ CC_WHO_RU_REQ -> . [cp_sta_action_process_cc_who_ru_req]
+ CC_ASSOC_REQ -> . [cp_cco_action__cco__cc_assoc_req]
+ TODO: reply with temporary failure, retry later.
+ CM_GET_KEY_REQ_PID0 -> . [cp_cco_action__cco__cm_get_key_req_pid0]
+ CC_LEAVE_REQ -> . [cp_cco_action__cco__cc_leave]
+ sc_succeed -> CCO [NULL]
+ sc_failed -> CCO [NULL]
+
UNASSOCIATING:
BEACON_TIMER_EXPIRES -> . [cp_beacon_beacon_not_received]
left -> IDLE [cp_sta_action_poweron__many__to_idle]
avln_failure -> IDLE [cp_sta_action_poweron__many__to_idle]
-CCO, AUTHENTICATED:
+CCO, AUTHENTICATED, SC_CCO:
CM_BRG_INFO_CNF -> . [cp_sta_action_process_cm_brg_info_cnf]
CM_BRG_INFO_REQ -> . [cp_sta_action_process_cm_brg_info_req]
first_com_with_auth_sta -> . [cp_sta_action_bridge_first_com]