Processes the TAL tx frame status received on the frame transmission.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include <compiler.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include "return_val.h"
#include "pal.h"
#include "bmm.h"
#include "qmm.h"
#include "tal.h"
#include "ieee_const.h"
#include "mac_msg_const.h"
#include "mac_api.h"
#include "mac_msg_types.h"
#include "mac_data_structures.h"
#include "stack_config.h"
#include "mac_internal.h"
#include "mac.h"
#include "mac_config.h"
#include "mac_build_config.h"
Functions | |
static uint8_t | find_buffer_cb (void *buf, void *buffer) |
Checks whether the indirect data frame address matches with the address passed. More... | |
static void | mac_process_tal_tx_status (retval_t tx_status, frame_info_t *frame) |
static void | remove_frame_from_gts_q (frame_info_t *f_ptr) |
void | tal_tx_frame_done_cb (retval_t status, frame_info_t *frame) |
Callback function from TAL after the frame is transmitted. More... | |
|
static |
Checks whether the indirect data frame address matches with the address passed.
buf | Pointer to indirect data buffer |
buffer | Pointer to the buffer to be searched |
References buffer.
Referenced by remove_frame_from_gts_q().
|
static |
References Assert, ASSOCIATIONREQUEST, ASSOCIATIONRESPONSE, BEACON_MESSAGE, BROADCAST, frame_info_tag::buffer_header, mlme_poll_conf_tag::cmdcode, COORDINATORREALIGNMENT, DATAREQUEST, DATAREQUEST_IMPL_POLL, DISASSOCIATIONNOTIFICATION, FUNC_PTR, frame_info_tag::gts_queue, handle_gts_data_tx_end(), frame_info_tag::indirect_in_transit, MAC_ASSOCIATED, MAC_AWAIT_ASSOC_RESPONSE, MAC_CHANNEL_ACCESS_FAILURE, mac_conf_buf_ptr, mac_coord_realignment_command_tx_success(), mac_gen_mcps_data_conf(), mac_idle_trans(), mac_pib_tag::mac_MaxFrameTotalWaitTime, mac_nhle_q, MAC_NO_ACK, MAC_PAN_ID_CONFLICT, mac_pib, MAC_POLL_EXPLICIT, MAC_POLL_IMPLICIT, mac_poll_state, mac_pib_tag::mac_ResponseWaitTime, mac_sleep_trans(), mac_state, MAC_SUCCESS, MAKE_MAC_BUSY, MCPS_MESSAGE, MLME_POLL_CONFIRM, frame_info_tag::msduHandle, frame_info_tag::msg_type, NULL, NULL_FRAME, ORPHANREALIGNMENT, pal_timer_start(), PANIDCONFLICTNOTIFICAION, mac_pib_tag::privateNoDataAfterAssocReq, remove_frame_from_gts_q(), status, mlme_poll_conf_tag::status, TAL_CONVERT_SYMBOLS_TO_US, TAL_FRAME_PENDING, frame_info_tag::time_stamp, and TIMEOUT_RELATIVE.
Referenced by tal_tx_frame_done_cb().
|
static |
References frame_info_tag::buffer_header, find_buffer_cb(), and frame_info_tag::gts_queue.
Referenced by mac_process_tal_tx_status().
void tal_tx_frame_done_cb | ( | retval_t | status, |
frame_info_t * | frame | ||
) |
Callback function from TAL after the frame is transmitted.
This is a callback function from the TAL. It is used when an attempt to transmit a frame is finished.
status | Status of transmission |
frame | Specifies pointer to the transmitted frame |
References BEACONREQUEST, mac_process_tal_tx_status(), MAC_SCAN_ACTIVE, MAC_SCAN_ORPHAN, mac_scan_state, MAKE_MAC_NOT_BUSY, frame_info_tag::msg_type, and ORPHANNOTIFICATION.