Modules | |
TAL CSMA/CA Module | |
Performs channel access mechanism for frame transmission For Detailed information refer CSMA-CA algorithm section of IEEE Std 802.15.4-2006. | |
Functions | |
void | handle_tx_end_irq (bool underrun_occured) |
Handles interrupts issued due to end of transmission. More... | |
void | send_frame (csma_mode_t csma_mode, bool tx_retries) |
Sends frame using trx features to handle CSMA and re-transmissions. More... | |
void | tx_done_handling (void) |
Implements the handling of the transmission end. More... | |
void handle_tx_end_irq | ( | bool | underrun_occured | ) |
Handles interrupts issued due to end of transmission.
underrun_occured | true if under-run has occurred |
References Assert, CMD_PLL_ON, CMD_RX_AACK_ON, mac_frame_ptr, pal_trx_read_timestamp(), PIN_ACK_OK_END, PIN_ACK_OK_START, PIN_ACK_WAITING_END, PIN_NO_ACK_START, PIN_TX_END, set_trx_state(), SR_TRAC_STATUS, tal_rx_buffer, tal_rx_on_required, tal_state, TAL_TX_DONE, frame_info_tag::time_stamp, TRAC_CHANNEL_ACCESS_FAILURE, TRAC_INVALID, TRAC_NO_ACK, TRAC_SUCCESS, TRAC_SUCCESS_DATA_PENDING, trx_bit_read(), and trx_trac_status.
Referenced by trx_irq_handler_cb().
void send_frame | ( | csma_mode_t | csma_mode, |
bool | tx_retries | ||
) |
Sends frame using trx features to handle CSMA and re-transmissions.
csma_mode | Indicates the CSMA mode |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
References aMaxSIFSFrameSize, CMD_TX_ARET_ON, last_frame_length, LENGTH_FIELD_LEN, macMinLIFSPeriod_def, macMinSIFSPeriod_def, NO_CSMA_NO_IFS, NO_CSMA_WITH_IFS, pal_timer_delay, pal_trx_irq_dis, pal_trx_irq_en, PAL_WAIT_65_NS, PHY_OVERHEAD, PRE_TX_DURATION_US, set_trx_state(), SR_MAX_CSMA_RETRIES, SR_MAX_FRAME_RETRIES, TAL_CONVERT_SYMBOLS_TO_US, tal_frame_to_tx, tal_pib, tal_state, TAL_TX_AUTO, trx_bit_write(), trx_frame_write(), TRX_IRQ_DELAY_US, TRX_SLP_TR_HIGH, TRX_SLP_TR_LOW, and TX_ARET_ON.
Referenced by tal_tx_frame().
void tx_done_handling | ( | void | ) |
Implements the handling of the transmission end.
This function handles the callback for the transmission end.
References ACK_PAYLOAD_LEN, Assert, aTurnaroundTime, FAILURE, FCF_ACK_REQUEST, FCS_LEN, LENGTH_FIELD_LEN, MAC_CHANNEL_ACCESS_FAILURE, mac_frame_ptr, MAC_NO_ACK, MAC_SUCCESS, frame_info_tag::mpdu, PHY_OVERHEAD, PL_POS_FCF_1, SYMBOLS_PER_OCTET, TAL_CONVERT_SYMBOLS_TO_US, TAL_FRAME_PENDING, tal_frame_to_tx, TAL_IDLE, tal_pib, TAL_PSDU_US_PER_OCTET, tal_state, tal_tx_frame_done_cb(), frame_info_tag::time_stamp, TRAC_CHANNEL_ACCESS_FAILURE, TRAC_INVALID, TRAC_NO_ACK, TRAC_SUCCESS, TRAC_SUCCESS_DATA_PENDING, TRX_IRQ_DELAY_US, and trx_trac_status.
Referenced by tal_task().