The Frame Transmission Unit generates and transmits the frames using PAL .
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, BACKOFF_WAITING_FOR_BEACON, CMD_PLL_ON, CMD_RX_AACK_ON, CMD_TX_ARET_ON, CSMA_ACCESS_FAILURE, CSMA_HANDLE_BEACON, FRAME_SENDING, mac_frame_ptr, NULL, pal_trx_read_timestamp(), PAL_WAIT_65_NS, 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_csma_state, tal_rx_buffer, tal_rx_on_required, TAL_SLOTTED_CSMA, tal_state, tal_sw_retry_count, tal_sw_retry_no_csma_ca, tal_timestamp, TAL_TX_DONE, frame_info_tag::time_stamp, TRAC_CHANNEL_ACCESS_FAILURE, TRAC_INVALID, TRAC_NO_ACK, TRAC_SUCCESS, TRAC_SUCCESS_DATA_PENDING, trx_trac_status, TX_ARET_ON, TX_DONE_FRAME_PENDING, TX_DONE_NO_ACK, and TX_DONE_SUCCESS.
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 used |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
csma_mode | Indicates the CSMA mode used |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
csma_mode | Inidicates the CSMA Mode Used |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
csma_mode | Indicates the CSMA mode used |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
Sends frame using trx features to handle CSMA and re-transmissions.
use_csma | Flag indicating if CSMA is requested |
tx_retries | Flag indicating if transmission retries are requested by the MAC layer |
References aMaxSIFSFrameSize, CMD_TX_ARET_ON, IRQ_PROCESSING_DLY_US, 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_sw_retry_count, tal_sw_retry_no_csma_ca, TAL_TX_AUTO, TRX_IRQ_DELAY_US, and TX_ARET_ON.
Referenced by send_frame_at_next_backoff_boundary(), and 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, IRQ_PROCESSING_DLY_US, LENGTH_FIELD_LEN, MAC_CHANNEL_ACCESS_FAILURE, mac_frame_ptr, MAC_NO_ACK, MAC_SUCCESS, frame_info_tag::mpdu, number_of_tx_retries, 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().