Microchip® Advanced Software Framework

nwkDataReq.c File Reference

NWK_DataReq() implementation.

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

#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "sysConfig.h"
#include "nwk.h"
#include "nwkTx.h"
#include "nwkFrame.h"
#include "nwkGroup.h"
#include "nwkDataReq.h"

Enumerations

enum  {
  NWK_DATA_REQ_STATE_INITIAL,
  NWK_DATA_REQ_STATE_WAIT_CONF,
  NWK_DATA_REQ_STATE_CONFIRM
}
 

Functions

void NWK_DataReq (NWK_DataReq_t *req)
 Adds request req to the queue of outgoing requests. More...
 
static void nwkDataReqConfirm (NWK_DataReq_t *req)
 Confirms request to the application and remove it from the queue. More...
 
void nwkDataReqInit (void)
 Initializes the Data Request module. More...
 
static void nwkDataReqSendFrame (NWK_DataReq_t *req)
 Prepares and send outgoing frame based on the request req parameters. More...
 
void nwkDataReqTaskHandler (void)
 Data Request module task handler. More...
 
static void nwkDataReqTxConf (NwkFrame_t *frame)
 Frame transmission confirmation handler. More...
 

Variables

static NWK_DataReq_tnwkDataReqQueue
 

anonymous enum
Enumerator
NWK_DATA_REQ_STATE_INITIAL 
NWK_DATA_REQ_STATE_WAIT_CONF 
NWK_DATA_REQ_STATE_CONFIRM 

void NWK_DataReq ( NWK_DataReq_t req)

Adds request req to the queue of outgoing requests.

Parameters
[in]reqPointer to the request parameters

References NWK_DataReq_t::frame, NwkIb_t::lock, NWK_DataReq_t::next, NULL, NWK_DATA_REQ_STATE_INITIAL, NWK_SUCCESS_STATUS, nwkDataReqQueue, nwkIb, NWK_DataReq_t::state, and NWK_DataReq_t::status.

Referenced by appCmdDataRequest(), and appSendData().

static void nwkDataReqConfirm ( NWK_DataReq_t req)
static

Confirms request to the application and remove it from the queue.

Parameters
[in]reqPointer to the request parameters

References NWK_DataReq_t::confirm, NwkIb_t::lock, NWK_DataReq_t::next, nwkDataReqQueue, and nwkIb.

Referenced by nwkDataReqTaskHandler().

void nwkDataReqInit ( void  )

Initializes the Data Request module.

References NULL.

Referenced by NWK_Init().

void nwkDataReqTaskHandler ( void  )
static void nwkDataReqTxConf ( NwkFrame_t frame)
static

Frame transmission confirmation handler.

Parameters
[in]framePointer to the sent frame

References NWK_DataReq_t::next, NWK_DATA_REQ_STATE_CONFIRM, nwkFrameFree(), and NwkFrame_t::tx.

Referenced by nwkDataReqSendFrame().

NWK_DataReq_t* nwkDataReqQueue
static

Referenced by NWK_DataReq(), and nwkDataReqConfirm().