Transmit routines interface.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Enumerations | |
enum | { NWK_TX_CONTROL_BROADCAST_PAN_ID = 1 << 0, NWK_TX_CONTROL_ROUTING = 1 << 1, NWK_TX_CONTROL_DIRECT_LINK = 1 << 2 } |
Functions | |
bool | nwkTxAckReceived (NWK_DataInd_t *ind) |
void | nwkTxBroadcastFrame (NwkFrame_t *frame) |
void | nwkTxConfirm (NwkFrame_t *frame, uint8_t status) |
void | nwkTxEncryptConf (NwkFrame_t *frame) |
void | nwkTxFrame (NwkFrame_t *frame) |
void | nwkTxInit (void) |
Initializes the Tx module. More... | |
void | nwkTxTaskHandler (void) |
Tx Module task handler. More... | |
anonymous enum |
bool nwkTxAckReceived | ( | NWK_DataInd_t * | ind | ) |
References NwkCommandAck_t::control, NWK_DataInd_t::data, if(), NWK_TX_STATE_CONFIRM, NWK_TX_STATE_WAIT_ACK, nwkFrameNext(), NwkCommandAck_t::seq, and NWK_DataInd_t::size.
Referenced by nwkRxSeriveDataInd().
void nwkTxBroadcastFrame | ( | NwkFrame_t * | frame | ) |
References NwkIb_t::addr, NwkFrame_t::data, NwkFrame_t::header, NwkFrameHeader_t::macDstAddr, NwkFrameHeader_t::macDstPanId, NwkFrameHeader_t::macFcf, NwkFrameHeader_t::macSeq, NwkIb_t::macSeqNum, NwkFrameHeader_t::macSrcAddr, NWK_BROADCAST_ADDR, NWK_SUCCESS_STATUS, NWK_TX_DELAY_JITTER_MASK, NWK_TX_STATE_DELAY, nwkFrameAlloc(), nwkIb, NwkFrame_t::size, NwkFrame_t::state, and NwkFrame_t::tx.
Referenced by nwkRxHandleReceivedFrame().
void nwkTxConfirm | ( | NwkFrame_t * | frame, |
uint8_t | status | ||
) |
References NWK_TX_STATE_CONFIRM, NwkFrame_t::state, and NwkFrame_t::tx.
Referenced by nwkTxAckWaitTimerHandler().
void nwkTxEncryptConf | ( | NwkFrame_t * | frame | ) |
References NWK_TX_STATE_DELAY, and NwkFrame_t::state.
Referenced by nwkSecurityTaskHandler().
void nwkTxFrame | ( | NwkFrame_t * | frame | ) |
References NwkIb_t::addr, NwkFrame_t::header, NwkFrameHeader_t::macDstAddr, NwkFrameHeader_t::macDstPanId, NwkFrameHeader_t::macFcf, NwkFrameHeader_t::macSeq, NwkIb_t::macSeqNum, NwkFrameHeader_t::macSrcAddr, NWK_BROADCAST_ADDR, NWK_BROADCAST_PANID, NWK_SUCCESS_STATUS, NWK_TX_CONTROL_BROADCAST_PAN_ID, NWK_TX_CONTROL_DIRECT_LINK, NWK_TX_CONTROL_ROUTING, NWK_TX_DELAY_JITTER_MASK, NWK_TX_STATE_DELAY, NWK_TX_STATE_ENCRYPT, NwkFrameHeader_t::nwkDstAddr, NwkFrameHeader_t::nwkFcf, nwkIb, nwkRoutePrepareTx(), NwkIb_t::panId, NwkFrameHeader_t::security, NwkFrame_t::state, and NwkFrame_t::tx.
Referenced by nwkDataReqSendFrame(), nwkRouteFrame(), nwkRouteSendRouteError(), and nwkRxSendAck().
void nwkTxInit | ( | void | ) |
Initializes the Tx module.
References SYS_Timer_t::handler, SYS_Timer_t::interval, SYS_Timer_t::mode, NWK_TX_ACK_WAIT_TIMER_INTERVAL, NWK_TX_DELAY_TIMER_INTERVAL, nwkTxAckWaitTimerHandler(), nwkTxDelayTimerHandler(), and SYS_TIMER_INTERVAL_MODE.
Referenced by NWK_Init().
void nwkTxTaskHandler | ( | void | ) |
Tx Module task handler.
References NwkIb_t::addr, NwkFrame_t::header, NwkIb_t::lock, NWK_ACK_WAIT_TIME, NWK_SUCCESS_STATUS, NWK_TX_ACK_WAIT_TIMER_INTERVAL, NWK_TX_STATE_CONFIRM, NWK_TX_STATE_DELAY, NWK_TX_STATE_ENCRYPT, NWK_TX_STATE_SEND, NWK_TX_STATE_SENT, NWK_TX_STATE_WAIT_ACK, NWK_TX_STATE_WAIT_CONF, NWK_TX_STATE_WAIT_DELAY, NwkFrameHeader_t::nwkFcf, nwkFrameFree(), nwkFrameNext(), nwkIb, nwkRouteFrameSent(), nwkSecurityProcess(), NwkFrameHeader_t::nwkSrcAddr, PHY_DataReq(), NwkFrame_t::size, NwkFrame_t::state, SYS_TimerStart(), and NwkFrame_t::tx.
Referenced by NWK_TaskHandler().