This file handles the frame transmission within the TAL.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
Requests to TAL to transmit frame.
This function is called by the MAC to deliver a frame to the TAL to be transmitted by the transceiver.
- Parameters
-
tx_frame | Pointer to the frame_info_t structure or to frame array to be transmitted |
csma_mode | Indicates mode of csma-ca to be performed for this frame |
perform_frame_retry | Indicates whether to retries are to be performed for this frame |
- Returns
- MAC_SUCCESS if the TAL has accepted the data from the MAC for frame transmission TAL_BUSY if the TAL is busy servicing the previous MAC request
References aUnitBackoffPeriod, CSMA_SLOTTED, last_frame_length, MAC_CHANNEL_ACCESS_FAILURE, mac_frame_ptr, MAC_INVALID_PARAMETER, MAC_SUCCESS, frame_info_tag::mpdu, NO_CSMA_WITH_IFS, NON_BEACON_NWK, pal_get_current_time(), send_frame(), tal_add_time_symbols(), TAL_BUSY, TAL_CONVERT_US_TO_SYMBOLS, tal_frame_to_tx, TAL_GET_BEACON_INTERVAL_TIME, TAL_IDLE, tal_pib, tal_state, and tal_sub_time_symbols().
Referenced by mac_awake_disassociate(), mac_build_and_tx_beacon(), mac_build_and_tx_data_req(), mac_handle_tx_null_data_frame(), mac_process_data_request(), mac_tx_coord_realignment_command(), mcps_data_request(), mlme_associate_request(), send_scan_cmd(), and tx_pan_id_conf_notif().