Microchip® Advanced Software Framework

nwkTx.c File Reference

Transmit routines implementation.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "phy.h"
#include "sysConfig.h"
#include "sysTimer.h"
#include "nwk.h"
#include "nwkTx.h"
#include "nwkFrame.h"
#include "nwkRoute.h"
#include "nwkCommand.h"
#include "nwkSecurity.h"

Macros

#define NWK_TX_ACK_WAIT_TIMER_INTERVAL   50 /* ms */
 
#define NWK_TX_DELAY_JITTER_MASK   0x07
 
#define NWK_TX_DELAY_TIMER_INTERVAL   10 /* ms */
 

Enumerations

enum  {
  NWK_TX_STATE_ENCRYPT = 0x10,
  NWK_TX_STATE_WAIT_DELAY = 0x11,
  NWK_TX_STATE_DELAY = 0x12,
  NWK_TX_STATE_SEND = 0x13,
  NWK_TX_STATE_WAIT_CONF = 0x14,
  NWK_TX_STATE_SENT = 0x15,
  NWK_TX_STATE_WAIT_ACK = 0x16,
  NWK_TX_STATE_CONFIRM = 0x17
}
 

Functions

bool nwkTxAckReceived (NWK_DataInd_t *ind)
 
static void nwkTxAckWaitTimerHandler (SYS_Timer_t *timer)
 
void nwkTxBroadcastFrame (NwkFrame_t *frame)
 
void nwkTxConfirm (NwkFrame_t *frame, uint8_t status)
 
static uint8_t nwkTxConvertPhyStatus (uint8_t status)
 
static void nwkTxDelayTimerHandler (SYS_Timer_t *timer)
 
void nwkTxFrame (NwkFrame_t *frame)
 
void nwkTxInit (void)
 Initializes the Tx module. More...
 
void nwkTxTaskHandler (void)
 Tx Module task handler. More...
 
void PHY_DataConf (uint8_t status)
 

Variables

static SYS_Timer_t nwkTxAckWaitTimer
 
static SYS_Timer_t nwkTxDelayTimer
 
static NwkFrame_tnwkTxPhyActiveFrame
 

#define NWK_TX_ACK_WAIT_TIMER_INTERVAL   50 /* ms */

Referenced by nwkTxInit(), and nwkTxTaskHandler().

#define NWK_TX_DELAY_JITTER_MASK   0x07

Referenced by nwkTxBroadcastFrame(), and nwkTxFrame().

#define NWK_TX_DELAY_TIMER_INTERVAL   10 /* ms */

Referenced by nwkTxInit().

anonymous enum
Enumerator
NWK_TX_STATE_ENCRYPT 
NWK_TX_STATE_WAIT_DELAY 
NWK_TX_STATE_DELAY 
NWK_TX_STATE_SEND 
NWK_TX_STATE_WAIT_CONF 
NWK_TX_STATE_SENT 
NWK_TX_STATE_WAIT_ACK 
NWK_TX_STATE_CONFIRM 

static void nwkTxAckWaitTimerHandler ( SYS_Timer_t timer)
static
void nwkTxConfirm ( NwkFrame_t frame,
uint8_t  status 
)
static void nwkTxDelayTimerHandler ( SYS_Timer_t timer)
static
void PHY_DataConf ( uint8_t  status)

SYS_Timer_t nwkTxAckWaitTimer
static
SYS_Timer_t nwkTxDelayTimer
static
NwkFrame_t* nwkTxPhyActiveFrame
static