📄 nlmede.h
字号:
*
*/
extern ZStatus_t NLME_NetworkFormationRequest( uint16 PanId, uint32 ScanChannels,
byte ScanDuration, byte BeaconOrder,
byte SuperframeOrder, byte BatteryLifeExtension );
/*
* This function reports the results of the request to form a new
* network.
*
* @MT SPI_CB_NLME_INITCOORD_CNF
*
*/
extern void NLME_NetworkFormationConfirm( ZStatus_t Status );
/* This function requests the NWK layer to discover neighboring routers
*
* @MT SPI_CMD_NLME_NWK_DISC_REQ
*
*/
extern ZStatus_t NLME_NetworkDiscoveryRequest( uint32 ScanChannels, byte scanDuration);
/* This function allows the NWK layer to discover neighboring routers
* without affecting the current nwk state
*/
extern ZStatus_t NLME_NwkDiscReq2( NLME_ScanFields_t* fields );
/* This function cleans up the NWK layer after a call to
* NLME_NwkDiscReq2
*/
extern void NLME_NwkDiscTerm( void );
/* This function returns list of neighboring networks
*
* @MT SPI_CB_NLME_NWK_DISC_CNF
* (byte Number,
* byte RouterCapacity,
* byte DeviceCapacity,
* byte Version,
* byte StackProfile,
* byte SecurityLevel,
* uint16 PanID,
* byte LogicalChannel,
* byte BeaconOrder,
* byte SuperFrameOrder)
*
*/
extern void NLME_NetworkDiscoveryConfirm( byte ResultCount,
networkDesc_t *NetworkList );
/*
* This function defines how the next higher layer of a coordinator device
* to permit devices to join its network for a fixed period.
*
* @MT SPI_CMD_NLME_PERMIT_JOINING_REQ
*
*/
extern ZStatus_t NLME_PermitJoiningRequest( byte PermitDuration );
/*
* This function handles the NWK_PERMITJOIN_EVT event.
*
*/
extern void NLME_PermitJoiningEvent( void );
/*
* This function allows the next higher layer to request the device to join
* itself to a specific network.
*
* @MT SPI_CMD_NLME_JOIN_REQ
*
*/
extern ZStatus_t NLME_JoinRequest( uint8 *extendedPANID, uint16 PanId, byte Channel, byte CapabilityInfo);
/*
* This function allows the next higher layer to request to directly join
* another device to this device
* The result is contained in the return value and there is no confirm primitive
*
* @MT SPI_CMD_NLME_DIRECT_JOIN_REQ
*
*/
extern ZStatus_t NLME_DirectJoinRequest( byte *DevExtAddress, byte capInfo );
/*
* This function allows the next higher layer to request the device
* to search for its parent.
*
* @MT SPI_CMD_NLME_ORPHAN_JOIN_REQ
*
*/
extern ZStatus_t NLME_OrphanJoinRequest( uint32 ScanChannels, byte ScanDuration );
/*
* This function allows the next higher layer to request the device
* to rejoin the network.
*/
extern ZStatus_t NLME_ReJoinRequest( void );
/*
* This function allows the next higher layer to be notified of the
* results of its request to join itself to a network.
*
* @MT SPI_CB_NLME_JOIN_CNF
* (byte *DeviceAddress,
* uint16 PanId,
* byte Status)
*
*/
extern void NLME_JoinConfirm( uint16 PanId, ZStatus_t Status );
/*
* This function allows the next higher layer of a coordinator to be
* notified of a remote join request.
*
* @MT SPI_CB_NLME_JOIN_IND
*
*/
extern ZStatus_t NLME_JoinIndication( uint16 ShortAddress,
byte *ExtendedAddress,
byte CapabilityInformation );
/*
* This function allows the next higher layer to request a device to function
* as a router. NOTE: the BeaconOrder and SuperframeOrder parameters are not
* used in this version -- the values obtained during network formation or
* joining are used instead, ensuring commonality with the ZDO COORDINATOR.
*
* @MT SPI_CMD_NLME_START_ROUTER_REQ
*
*/
extern ZStatus_t NLME_StartRouterRequest( byte BeaconOrder,
byte SuperframeOrder,
byte BatteryLifeExtension );
/*
* This function reports the results of the request to start
* functioning as a router.
*
* @MT SPI_CB_NLME_START_ROUTER_CNF
*
*/
extern void NLME_StartRouterConfirm( ZStatus_t Status );
/*
* This function allows the next higher layer to request that itself
* or another device leave the network.
*
* @MT SPI_CMD_NLME_LEAVE_REQ
*
*/
extern ZStatus_t NLME_LeaveReq( NLME_LeaveReq_t* req );
/*
* This function allows the next higher layer to be notified of the
* results of its request for itself or another device to leave the
* network.
*
* @MT SPI_CB_NLME_LEAVE_CNF
*
*/
extern void NLME_LeaveCnf( NLME_LeaveCnf_t* cnf );
/*
* This function allows the next higher layer of a device to be
* notified of a remote leave request.
*
* @MT SPI_CB_NLME_LEAVE_IND
*
*/
extern void NLME_LeaveInd( NLME_LeaveInd_t* ind );
/*
* This function allows the next higher layer to respond to a leave
* indication.
*/
extern ZStatus_t NLME_LeaveRsp( NLME_LeaveRsp_t* rsp );
/*
* This function allows the next higher layer to request that the NWK layer
* perform a reset operation.
*
* @MT SPI_CMD_NLME_RESET_REQ
*
*/
extern ZStatus_t NLME_ResetRequest( void );
/*
* This function allows the next higher layer to request
* synchronization with its parent and extract data
*
* @MT SPI_CMD_NLME_SYNC_REQ
*/
extern ZStatus_t NLME_SyncRequest( byte Track );
/*
* This function allows the next higher layer to be notified of the
* loss of synchronization at the MAC sub-layer.
*
* @MT SPI_CB_NLME_SYNC_IND
* (byte Status)
*
*/
extern void NLME_SyncIndication( byte type, uint16 shortAddr );
/*
* This function stub allows the next higher layer to be notified of
* a permit joining timeout.
*/
extern void NLME_PermitJoiningTimeout( void );
/*
* This function allows the next higher layer to be notified of a
* Poll Confirm from the MAC sub-layer.
*
* @MT SPI_CB_NLME_POLL_CNF
* (byte Status)
*
*/
extern void NLME_PollConfirm( byte status );
/*
* This function allows the next higher layer to read the value of
* an attribute from the NIB.
*
* @MT SPI_CMD_NLME_GET_REQ
*
*/
extern ZStatus_t NLME_GetRequest( ZNwkAttributes_t NIBAttribute, uint16 Index,
void *Value );
/*
* This function allows the next higher layer to write the value of an
* attribute into the NIB.
*
* @MT SPI_CMD_NLME_SET_REQ
*
*/
extern ZStatus_t NLME_SetRequest( ZNwkAttributes_t NIBAttribute,
uint16 Index,
void *Value );
/*
* This function allows the higher layers to initiate route discovery
* to a given destination address
*
* @MT SPI_CMD_NLME_ROUTE_DISC_REQ
*
*/
extern ZStatus_t NLME_RouteDiscoveryRequest( uint16 DstAddress, byte repair );
/*********************************************************************
* NWK Helper Functions
*/
/*
* This function will return a pointer to the device's IEEE 64 bit address
*
* This function resides in nwk_util.c.
*/
extern byte *NLME_GetExtAddr( void );
/*
* This function will return this device's 16 bit short address
*
* This function resides in nwk_util.c.
*/
extern uint16 NLME_GetShortAddr( void );
/*
* This function will return the MAC's Coordinator's short (16bit) address
* which is this device's parent, not necessarily the Zigbee coordinator.
*
* This function resides in nwk_util.c.
*/
extern uint16 NLME_GetCoordShortAddr( void );
/*
* This function will return the MAC's Coordinator's Extented (64bit) address
* which is this device's parent, not necessarily the Zigbee coordinator.
*
* This function resides in nwk_util.c.
*/
extern void NLME_GetCoordExtAddr( byte * );
/*
* Use this function to request a single MAC data request.
*/
extern ZMacStatus_t NwkPollReq( byte securityEnable );
/*
* Use this function to set/change the Network Poll Rate. This function
* is used in conjunction with the NWK_AUTO_POLL compile flag. If the
* newRate is set to 0, it will turn off the auto polling, 1 will do a
* one time poll.
*/
extern void NLME_SetPollRate( uint16 newRate );
/*
* Use this function to set/change the Network Queued Poll Rate.
* This is used after receiving a data indication to poll immediately
* for queued messages.
*/
extern void NLME_SetQueuedPollRate( uint16 newRate );
/*
* Use this function to set/change the Network Queued Poll Rate.
* This is used after receiving a data confirmation to poll immediately
* for response messages.
*/
extern void NLME_SetResponseRate( uint16 newRate );
/*
* Initialize the Nwk, Assoc device list, and binding NV Items
* returns ZSUCCESS if successful, NV_ITEM_UNINIT if item did not
* exist in NV, NV_OPER_FAILED if failure.
*/
extern byte NLME_InitNV( void );
/*
* Set defaults for the Nwk, Assoc device list, and binding NV Items
*/
extern void NLME_SetDefaultNV( void );
/*
* Restore network memory items from NV.
*/
extern byte NLME_RestoreFromNV( void );
/*
* Write network items to NV.
* enables - bit mask of items to save:
* NWK_NV_NIB_ENABLE
* NWK_NV_DEVICELIST_ENABLE
* NWK_NV_BINDING_ENABLE
* NWK_NV_ADDRMGR_ENABLE
*/
void NLME_UpdateNV( byte enables );
extern void NLME_CoordinatorInit( void );
extern void NLME_DeviceJoiningInit( void );
extern void (*pnwk_ScanPANChanSelect)( ZMacScanCnf_t *param );
extern void (*pnwk_ScanPANChanVerify)( ZMacScanCnf_t *param );
extern void (*pnwk_ScanJoiningOrphan)( ZMacScanCnf_t *param );
extern void (*pnwk_associate_cnf_processing)( ZMacAssociateCnf_t *param );
extern void (*pNLME_NetworkFormationConfirm)( ZStatus_t Status );
/****************************************************************************
****************************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* NLMEDE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -