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, 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_beacon_transmission, 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_bit_read(), TRX_SLP_TR_HIGH, TRX_SLP_TR_LOW, 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 |
References aMaxSIFSFrameSize, CMD_TX_ARET_ON, last_frame_length, 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, 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_bit_write(), trx_frame_write(), TRX_IRQ_DELAY_US, TRX_SLP_TR_HIGH, TRX_SLP_TR_LOW, 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, 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().