#ifndef ce_rx_bitloading_inc_transition_h #define ce_rx_bitloading_inc_transition_h /* Cesar project {{{ * * Copyright (C) 2009 Spidcom * * <<>> * * }}} */ /** * \file ce/rx/bitloading/inc/transition.h * \brief Transitions of the CE RX Bit Loading FSM. * \ingroup ce_rx * * This file contains the transitions of the FSM of the CE RX Bit Loading. */ #include "mac/common/sta.h" #include "ce_rx_bl_fsm_defs.h" BEGIN_DECLS typedef enum { CE_RX_BL_TREATMENT_STATUS_NO_CHAN_CHANGE = 0, CE_RX_BL_TREATMENT_STATUS_HIGH_PBERR, CE_RX_BL_TREATMENT_STATUS_BER_TOO_LOW, CE_RX_BL_TREATMENT_STATUS_BMU, CE_RX_BL_TREATMENT_STATUS_NB } ce_rx_bl_treatment_status_t; /** * Handle reception of a sound event (not complete) in IDLE state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__IDLE__sound (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound event (complete) in IDLE state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__IDLE__sound_completed (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data event in IDLE state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__IDLE__data (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound event (not complete) in INITIAL state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INITIAL__sound (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound event (complete) in INITIAL state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INITIAL__sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data event in INITIAL state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INITIAL__data (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound event (not complete) in TRACKING state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__TRACKING__sound (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound event (complete) in TRACKING state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__TRACKING__sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data event in TRACKING state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__TRACKING__data (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound (not complete) event in INTERVALS state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVALS__sound (ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound (complete) event in INTERVALS state. * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVALS__sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (not complete) event in * INTERVAL_TRACKING state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_TRACKING__interval_sound ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (complete) event in * INTERVAL_TRACKING state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_TRACKING__interval_sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data on an interval event in INTERVAL_TRACKING state * (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_TRACKING__interval_data ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (not complete) event in * INTERVAL_SOUND state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND__interval_sound ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (complete) event in INTERVAL_SOUND * state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND__interval_sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data on an interval event in INTERVAL_SOUND state * (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND__interval_data ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (not complete) event in * INTERVAL_SOUND_WAIT state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND_WAIT__interval_sound ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a sound on an interval (complete) event in * INTERVAL_SOUND_WAIT state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND_WAIT__interval_sound_completed ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); /** * Handle reception of a data on an interval event in INTERVAL_SOUND_WAIT * state (interval FSM). * \param ce_rx the CE RX context. * \param sta the corresponding sta. * \param data the data associated to the event. * \return the next state. */ ce_rx_bl_fsm_branch_t ce_rx_bl_fsm__INTERVAL_SOUND_WAIT__interval_data ( ce_rx_t *ce_rx, sta_t *sta, ce_rx_bitloading_fsm_event_param_t data); END_DECLS #endif /* ce_rx_bitloading_inc_transition_h */