Network layer (NWK) provides core stack functionality and provides two routing algorithms,1.Native routing and 2.AODV routing.
#define | NWK_MAX_PAYLOAD_SIZE |
#define | NWK_BROADCAST_PANID 0xffff |
#define | NWK_BROADCAST_ADDR 0xffff |
#define | NWK_ENDPOINTS_AMOUNT 16 |
enum | NWK_Status_t { NWK_SUCCESS_STATUS = 0x00, NWK_ERROR_STATUS = 0x01, NWK_OUT_OF_MEMORY_STATUS = 0x02, NWK_NO_ACK_STATUS = 0x10, NWK_NO_ROUTE_STATUS = 0x11, NWK_PHY_CHANNEL_ACCESS_FAILURE_STATUS = 0x20, NWK_PHY_NO_ACK_STATUS = 0x21 } |
typedef struct NwkIb_t | NwkIb_t |
NwkIb_t | nwkIb |
void | NWK_Init (void) |
Initializes all network layer modules. More... | |
void | NWK_SetAddr (uint16_t addr) |
Sets network address of the node. More... | |
void | NWK_SetPanId (uint16_t panId) |
Sets network identifier (PAN) of the node. More... | |
void | NWK_OpenEndpoint (uint8_t id, bool(*handler)(NWK_DataInd_t *ind)) |
Registers callback ind for the endpoint endpoint. More... | |
bool | NWK_Busy (void) |
Checks if network layer is ready for sleep. More... | |
void | NWK_Lock (void) |
Increases the lock counter and sets a busy state. More... | |
void | NWK_Unlock (void) |
Decreases the lock counter and sets a free state if counter reaches 0. More... | |
void | NWK_SleepReq (void) |
Puts network layer to a sleeping state. More... | |
void | NWK_WakeupReq (void) |
Puts network layer to an active state. More... | |
void | NWK_TaskHandler (void) |
Network layer task handler. More... | |
uint8_t | NWK_LinearizeLqi (uint8_t lqi) |
Calculates linearized value for the given value of the LQI. More... | |
#define NWK_BROADCAST_ADDR 0xffff |
Referenced by nwkRxHandleIndication(), nwkRxHandleReceivedFrame(), nwkRxIndicateFrame(), nwkTxBroadcastFrame(), and nwkTxFrame().
#define NWK_BROADCAST_PANID 0xffff |
Referenced by nwkRxHandleIndication(), nwkRxHandleReceivedFrame(), nwkRxIndicateFrame(), and nwkTxFrame().
#define NWK_ENDPOINTS_AMOUNT 16 |
Referenced by NWK_Init().
#define NWK_MAX_PAYLOAD_SIZE |
enum NWK_Status_t |
bool NWK_Busy | ( | void | ) |
Checks if network layer is ready for sleep.
true
if network layer is ready for sleep or false
otherwise References NwkIb_t::lock.
void NWK_Init | ( | void | ) |
Initializes all network layer modules.
References NwkIb_t::addr, NwkIb_t::endpoint, NwkIb_t::lock, NwkIb_t::macSeqNum, NWK_ENDPOINTS_AMOUNT, nwkDataReqInit(), nwkFrameInit(), nwkRxInit(), NwkIb_t::nwkSeqNum, and nwkTxInit().
Referenced by SYS_Init().
uint8_t NWK_LinearizeLqi | ( | uint8_t | lqi | ) |
Calculates linearized value for the given value of the LQI.
[in] | lqi | LQI value as provided by the transceiver |
void NWK_Lock | ( | void | ) |
Increases the lock counter and sets a busy state.
References NwkIb_t::lock.
void NWK_OpenEndpoint | ( | uint8_t | id, |
bool(*)(NWK_DataInd_t *ind) | handler | ||
) |
Registers callback ind for the endpoint endpoint.
[in] | id | Endpoint index (1-15) |
[in] | handler | Pointer to the callback function |
References NwkIb_t::endpoint.
Referenced by nwkRxInit().
void NWK_SetAddr | ( | uint16_t | addr | ) |
Sets network address of the node.
[in] | addr | Adddress to set |
References NwkIb_t::addr, and PHY_SetShortAddr().
void NWK_SetPanId | ( | uint16_t | panId | ) |
Sets network identifier (PAN) of the node.
[in] | panId | PAN ID to set |
References NwkIb_t::panId, and PHY_SetPanId().
void NWK_SleepReq | ( | void | ) |
Puts network layer to a sleeping state.
References PHY_Sleep().
void NWK_TaskHandler | ( | void | ) |
Network layer task handler.
References nwkDataReqTaskHandler(), nwkRxTaskHandler(), and nwkTxTaskHandler().
Referenced by SYS_TaskHandler().
void NWK_Unlock | ( | void | ) |
Decreases the lock counter and sets a free state if counter reaches 0.
References NwkIb_t::lock.
void NWK_WakeupReq | ( | void | ) |
Puts network layer to an active state.
References PHY_Wakeup().
NwkIb_t nwkIb |
Referenced by NWK_DataReq(), nwkDataReqConfirm(), nwkDataReqSendFrame(), nwkFrameAlloc(), nwkFrameCommandInit(), nwkFrameFree(), nwkRxHandleIndication(), nwkRxHandleReceivedFrame(), nwkRxIndicateFrame(), nwkRxRejectDuplicate(), nwkTxBroadcastFrame(), nwkTxFrame(), nwkTxTaskHandler(), and PHY_DataConf().