Transmits data using Slotted CSMA/CA mechanism.
Typedefs | |
typedef enum csma_state_tag | csma_state_t |
Functions | |
uint16_t | calc_frame_transmit_duration (uint8_t *phy_frame) |
Calculates the entire transaction duration. More... | |
bool | slotted_csma_start (bool perform_frame_retry) |
Starts slotted CSMA. More... | |
void | slotted_csma_state_handling (void) |
State machine handling slotted CSMA. More... | |
typedef enum csma_state_tag csma_state_t |
enum csma_state_tag |
uint16_t calc_frame_transmit_duration | ( | uint8_t * | phy_frame | ) |
Calculates the entire transaction duration.
octets
symbols
References ACK_FRAME_LEN, aMaxSIFSFrameSize, aTurnaroundTime, aUnitBackoffPeriod, CONVERT_OCTETS_TO_SYM, FCF_ACK_REQUEST, macMinLIFSPeriod_def, macMinSIFSPeriod_def, PHY_OVERHEAD, PL_POS_FCF_1, and TAL_PSDU_US_PER_OCTET.
Referenced by handle_gts_data_req().
Starts slotted CSMA.
References BE, calculate_transaction_duration(), check_beacon_reception(), csma_backoff_calculation(), csma_param_init(), number_of_tx_retries, PIN_CSMA_START, remaining_backoff_periods, tal_pib, TAL_SLOTTED_CSMA, and tal_state.
Referenced by tal_tx_frame().
void slotted_csma_state_handling | ( | void | ) |
State machine handling slotted CSMA.
References Assert, BACKOFF_WAITING_FOR_BEACON, BACKOFF_WAITING_FOR_CCA_TIMER, BE, CMD_RX_AACK_ON, CSMA_ACCESS_FAILURE, csma_backoff_calculation(), CSMA_HANDLE_BEACON, FRAME_SENDING, MAC_CHANNEL_ACCESS_FAILURE, MAC_NO_ACK, MAC_SUCCESS, macMaxCSMABackoffs, NB, NO_BEACON_TRACKING, number_of_tx_retries, pal_timer_stop(), PIN_BEACON_LOSS_TIMER_END, PIN_NO_ACK_END, PIN_WAITING_FOR_BEACON_END, remaining_backoff_periods, set_trx_state(), TAL_CSMA_BEACON_LOSS_TIMER, tal_csma_state, TAL_FRAME_PENDING, tal_pib, tx_done(), TX_DONE_FRAME_PENDING, TX_DONE_NO_ACK, and TX_DONE_SUCCESS.
Referenced by tal_task().