NWK ?層為更高層提供了如下功能:·
· ?網(wǎng)絡(luò)管理
· ?地址管理
· ?網(wǎng)絡(luò)參數(shù)與功能函數(shù)
除了管理功能,NWK 還提供了應(yīng)用程序沒有的數(shù)據(jù)服務(wù)。應(yīng)用程序可以通過AF數(shù)據(jù)接口[AF_DataRequest()]來發(fā)送數(shù)據(jù)。
3.4.1.1 網(wǎng)絡(luò)管理(Network Management)
3.4.1.1.1 NLME_NetworkDiscoveryRequest()
此函數(shù)請求網(wǎng)絡(luò)層尋找相鄰路由器。這個函數(shù)應(yīng)該在加入并執(zhí)行網(wǎng)絡(luò)掃描之前調(diào)用。掃描確認(rèn)結(jié)果將被返回到ZDO_NetworkDiscoveryConfirmCB()回調(diào)函數(shù)中。最好不要使用此函數(shù)(除非你完全理解網(wǎng)絡(luò)連接過程),而使用ZDO_StartDevice()。
函數(shù)原型
ZStatus_t?NLME_NetworkDiscoveryRequest(uint32ScanChannels,byte?ScanDuration );
參數(shù)描述
ScanChannels—進行查找的信道。該字段是一個位圖,每一位代表一個要掃描的信道。2.4GHz 僅可使用 11-26信道(0x07FFF800)。
ScanDuration—這規(guī)定了在新的網(wǎng)絡(luò)啟動之前,其它網(wǎng)絡(luò)的每個信道應(yīng)掃描多長時間。其范圍與信標(biāo)的要求相同:
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.2 NLME_NwkDiscReq2()
此函數(shù)請求網(wǎng)絡(luò)層尋找相鄰路由器。使用這個函數(shù)執(zhí)行一個網(wǎng)絡(luò)掃描,但不會加入該網(wǎng)絡(luò)。掃描確認(rèn)(結(jié)果)將被返回到ZDO_NetworkDiscoveryConfirmCB()回調(diào)函數(shù)中。執(zhí)行回調(diào)函數(shù)(結(jié)果)之后,調(diào)用_NwkDiscTerm()來清除此次行為。
函數(shù)原型
ZStatus_t NLME_NwkDiscReq2( NLME_ScanFields_t* fields );
參數(shù)描述
fields—掃描結(jié)構(gòu)體
typedef struct
{
uint32 channels;
uint8 duration;
} NLME_ScanFields_t;
channels—進行查找的信道。該字段是一個位圖,每一位代表一個要掃描的信道。2.4GHz?僅可使用 11-26 信道(0x07FFF800)。
Duration—這規(guī)定了在新的網(wǎng)絡(luò)啟動之前,其它網(wǎng)絡(luò)的每個信道應(yīng)掃描多長時間。其范圍與信標(biāo)的要求相同。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.3 NLME_NwkDiscTerm()
此函數(shù)將清除 NLME_NwkDiscReq2()行為。
函數(shù)原型
void NLME_NwkDiscTerm( void );
參數(shù)描述
空。
返回值.
空。
3.4.1.1.4 NLME_NetworkFormationRequest()
此函數(shù)允許相鄰的更高層請求設(shè)備組建一個新網(wǎng)絡(luò)并允許自身成為該網(wǎng)絡(luò)的ZigBee?協(xié)調(diào)器。這個行為的結(jié)果(狀態(tài))返回到ZDO_NetworkFormationConfirmCB()回調(diào)函數(shù)中。最好不要直接使用此函數(shù),而使用ZDO_StartDevice()。
函數(shù)原型
ZStatus_t NLME_NetworkFor mation Request( uint16 PanId, uint32ScanChannels,byteScanDuration,byte?BeaconOrder,byte SuperframeOrder, byte BatteryLifeExtension );
參數(shù)描述
PanId—該字段指定了該設(shè)備啟動的網(wǎng)絡(luò)所用的標(biāo)識符。合法值從 0 到 0x3FFF。如果使用了 0x3FFF,NWK層將選擇 PanId 供網(wǎng)絡(luò)使用。如果在這里發(fā)現(xiàn)網(wǎng)絡(luò)有同一 PAN ID,這 個 PANID 將遞增直到唯一(直到掃描過的 PANID)。
ScanChannels-進行查找的信道。該字段是一個位圖,每一位代表一個要掃描的信道。2.4GHz?僅可使用 11-26 信道(0x07FFF800)。
ScanDuration—這規(guī)定了在新的網(wǎng)絡(luò)啟動之前,其它網(wǎng)絡(luò)的每個信道應(yīng)掃描多長時間。其范圍與信標(biāo)順序相同。
Beaconorder ? ? —? ?在Zigbee2006規(guī)范中該字段是BEACON_ORDER_NO_BEACONS。
SuperframeOrder ? ?—? ?在 Zigbee2006規(guī)范中該字段是BEACON_ORDER_NO_BEACONS。
BatteryLifeExtension—如果它的值為真,NWK ?層將請求 ZigBee?協(xié)調(diào)器啟動支持電池壽命延長的模式(關(guān)于這種模式詳細介紹參見[R3])。如果值為假,NWK?層將請求 ZigBee?協(xié)調(diào)器啟動不支持電池壽命延長的模式。
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.5 NLME_StartRouterRequest()
這個函數(shù)允許相鄰的更高層請求設(shè)備啟動路由器功能。這個行為的結(jié)果(狀態(tài))返回到StartRouterConfirmCB() 回調(diào) 函 數(shù) 中 。 最 好 不 要 直 接 使 用 此 函 數(shù) , 而 使 用ZDO_StartDevice()。
函數(shù)原型
ZStatus_t NLME_StartRouterRequest(byte BeaconOrder,byteSuperframeOrder,byte BatteryLifeExtension );
參數(shù)描述
Beaconorder ? —?在Zigbee2006規(guī)范中該字段是BEACON_ORDER_NO_BEACONS。
SuperframeOrder — ?在Zigbee2006規(guī)范中該字段是BEACON_ORDER_NO_BEACONS。
BatteryLifeExtension—如果它的值為真,NWK?層將請求路由器啟動支持電池壽命延長的模式(關(guān)于這種模式詳細介紹參見[R3])。如果值為假, NWK?層將請求路由器啟動不支持電池壽命延長的模式。
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.6 NLME_JoinRequest()
此函數(shù)允許相鄰的更高層請求設(shè)備將自己加入到一個網(wǎng)絡(luò)中。這個行為的結(jié)果(狀態(tài))返回到ZDO_JoinConfirmCB()回調(diào)函數(shù)中。最好不要直接使用此函數(shù)而使用?ZDO_StartDevice()。
函數(shù)原型
ZStatus_t NLME_Join Request(uint8 *ExtendedPANID,uint16PanId,byte Channel,byte?CapabilityInfo);
參數(shù)描述
ExtendedPANID—該字段包含你試圖加入的網(wǎng)絡(luò)擴展 PAN ID。
PanId——該字段指明了設(shè)備即將加入的網(wǎng)絡(luò)所用的標(biāo)識符。合法范圍從 0 到0x3FFF,可以經(jīng)過掃描獲得。
Channel-目標(biāo)網(wǎng)絡(luò)所在的信道。2.4GHz 僅可使用 11-26 信道。
CapabilityInfo—指明了加入設(shè)備的可操作容量:
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.7 NLME_ReJoinReque st()
使用此函重新加入一個設(shè)備已經(jīng)加入過的網(wǎng)絡(luò)。此函數(shù)的結(jié)果(狀態(tài))返回到ZDO_JoinConfirmCB()回調(diào)函數(shù)中。
函數(shù)原型
ZStatus_t NLME_ReJoinRequest( void );
參數(shù)描述
空。
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.8 NLME_OrphanJoinReque st()
此函數(shù)請求網(wǎng)絡(luò)層孤立地連接到網(wǎng)絡(luò)上。此函數(shù)是一個默示加入形式的掃描。此函數(shù)的結(jié)果(狀態(tài)值)返回到ZDO_JoinConfirmCB()回調(diào)函數(shù)中。最好不要使用此函數(shù)(除非你完全理解網(wǎng)絡(luò)加入過程),而使用ZDO_StartDevice()。
函數(shù)原型
ZStatus_t NLME_OrphanJoin Request( uint32 ScanChannels, byteScanDuration );
參數(shù)描述
ScanChannels—進行查找的信道。該字段是一個位圖,每一位代表一個要掃描的信道。2.4GHz僅可使用 11-26信道(0x07FFF800)。
ScanDuration—這規(guī)定了在新的網(wǎng)絡(luò)啟動之前,其它網(wǎng)絡(luò)的每個信道應(yīng)掃描多長時間。其范圍與信標(biāo)的要求相同。
返回值
ZStatus_t—定義在 ZComDef.h ?中的狀態(tài)值。
3.4.1.1.9 NLME_PermitJoiningRequest()
此函數(shù)定義了相鄰的更高層的協(xié)調(diào)器或路由器如何允許設(shè)備在一段固定的時間內(nèi)加入它的網(wǎng)絡(luò)。
函數(shù)原型
ZStatus_t NLME_PermitJoiningRequest( byte PermitDuration);
參數(shù)描述
PermitDuration—設(shè)備(協(xié)調(diào)器或路由器)允許加入的持續(xù)時間。值 0x00 和0xff表示禁止或允許,沒有一個具體時間限制。值 0x01 到 0xFE 是允許加入的持續(xù)時間,以秒為單位。
返回值
ZStatus_t—定義在 ZComDef.h ?中的狀態(tài)值。
3.4.1.1.10 NLME_DirectJoinRequest()
此函數(shù)允許更高層請求 NWK?層的協(xié)調(diào)器或路由器設(shè)備增加另一個設(shè)備作為子設(shè)備。
函數(shù)原型
ZStatus_t NLME_DirectJoin Request( byte *DevExtAddress, bytecapInfo );
參數(shù)描述
DevExtAddress—指向作為該設(shè)備子節(jié)點加入的設(shè)備的 IEEE 地址的指針。
capInfo — 指 明 了 允 許 加 入 設(shè) 備 的 容 量 。 參 見?NLME_JoinRequest() 中 的CapabilityInfo。
返回值
zStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.11 NLME_LeaveReq()
這個函數(shù)允許相鄰的更高層請求本身或其它設(shè)備離開網(wǎng)絡(luò)。目前,調(diào)用這個函數(shù)不會造成要離開的設(shè)備的父節(jié)點重新分配該設(shè)備地址。
函數(shù)原型
ZStatus_t NLME_LeaveReq( NLME_LeaveReq_t* req );
參數(shù)描述
req—離開請求結(jié)構(gòu)體
typedef struct
{
uint8* extAddr;
uint8 removeChildren;
uint8 rejoin;
uint8 silent;
} NLME_LeaveReq_t;
extAddr—離開設(shè)備的擴展地址。
removeChildren—同時斷開設(shè)備子節(jié)點為真,僅僅斷開設(shè)備本身為假。應(yīng)使用假。
Rejoin—允許設(shè)備重新加入網(wǎng)絡(luò)為真,否則為假。
Silent—不發(fā)送通知為真,否則為假。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.12 NLME_RemoveChild()
這個函數(shù)允許相鄰的更高層去請求它。
函數(shù)原型
void NLME_RemoveCh ild( uint8* extAddr, uint8 dealloc );
參數(shù)描述
extAddr—要刪除的設(shè)備的擴展地址。
Dealloc—不發(fā)送通知為真,否則為假。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.1.13 NwkPollReq()
調(diào)用此函數(shù)手動請求一個 MAC層的數(shù)據(jù)請求信息。僅終端設(shè)備具有此功能。通常情況下,終端設(shè)備的輪詢由網(wǎng)絡(luò)層自動處理,應(yīng)用程序可以調(diào)用NLME_SetPollRate()控制輪詢率。如果詢率設(shè)置為 0,應(yīng)用程序通過調(diào)用這個函數(shù)自動執(zhí)行輪詢功能。
函數(shù)原型
ZMacStatus_t NwkPollReq( byte securityEnable );
參數(shù)描述
securityEnable —該字段總是設(shè)置為假。
返回值
ZMacS tatus_t 和 ZStatus_t ?相同—定義在 ZComDef.h中的狀態(tài)值。
3.4.1.1.14 NLME_SetPollRate()
使用這個函數(shù)設(shè)置或修改網(wǎng)絡(luò)層的輪詢率。僅終端設(shè)備具有此功能。通常情況下 ,終端設(shè)備的輪詢由網(wǎng)絡(luò)層自動處理,應(yīng)用程序可以調(diào)用NLME_SetPollRate()控制輪詢率。
函數(shù)原型
void NLME_SetPollRate( uint16 newRate );
參數(shù)描述
newRate—數(shù)據(jù)和父節(jié)點之間輪詢的毫秒數(shù)。在沒有設(shè)置輪詢率的情況下,值為0不執(zhí)行輪詢,為 1執(zhí)行一次數(shù)據(jù)輪詢。
返回值
空。
3.4.1.1.15 NLME_SetQueuedPollRate()
使用此函數(shù)可以設(shè)置或修改隊列輪詢率。僅終端設(shè)備具有此功能。如果數(shù)據(jù)輪詢結(jié)果放在一個數(shù)據(jù)信息中,Queued PollRate 中的輪詢率立即被設(shè)置以遍歷父節(jié)點的隊列數(shù)據(jù)。函數(shù)原型
void NLME_SetQueuedPollRate( uint16 newRate );
參數(shù)描述
newRate—隊列輪詢率毫秒數(shù)。值為 0 不執(zhí)行隊列輪詢,0x01 -0xFF 代表持續(xù)時間。
返回值
空。
3.4.1.1.16 NLME_SetResponseRate()
使用此函數(shù)設(shè)置或修改響應(yīng)輪詢率。僅終端設(shè)備具有此功能。這是發(fā)送數(shù)據(jù)請求后的輪詢率,基于期望得到一個快速響應(yīng)的想法(而不是等待正常的輪詢率)。
函數(shù)原型
void NLME_SetResponseRate( uint16 newRate );
參數(shù)描述
newRate—響應(yīng)輪詢的持續(xù)時間,以毫秒為單位。值為 0 禁止響應(yīng)輪詢,0x01 -0xFF代表持續(xù)時間。
返回值
空。
3.4.1.1.17 NLME_RouteDiscoveryRequest()
用這個函數(shù)來發(fā)送路由請求從而實現(xiàn)路由發(fā)現(xiàn),路由請求既可以是單播路由請求來建立一個端到端的路由路徑,也可以使多對一的路由請求來建立一個網(wǎng)絡(luò)中所有設(shè)備到一個網(wǎng)絡(luò)集中器(這個設(shè)備被認(rèn)為是本地設(shè)備同時聲明了多對一路由請求)的路由。
函數(shù)聲明
ZStatus_t NLME_RouteDiscoveryRequest( uint16 DstAddress, byteoptions, uint8?radius );
參數(shù)描述
DstAddress—路由請求的目的地址。在單播路由請求時,這個是本地設(shè)備嘗試建立路由路徑的目的設(shè)備地址,當(dāng)是多對一路由請求時,這個參數(shù)在函數(shù)調(diào)用時會被改寫成多對一的目的地址,一般是0xFFFC,表示是所有的路由器和協(xié)調(diào)器。
options—路由發(fā)現(xiàn)選項掩碼,可能的值如下表所示:
Radius—路由請求包的多播半徑,如果被設(shè)置為 0,則多播半徑就會被設(shè)置成默
認(rèn)的廣播半徑。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.2 地址管理(Address Management)
管理層地址提供了提供了低層地址管理,目前,用戶不能直接使用此模塊。
APSME_LoopupExtAddrReq 和 APSME_LookupNwkAddr這兩個函數(shù)提供了支持本地地址查找的功能。ZDP_IEEEAddrReq 和 ZDP_NwkAddrReq這兩個函數(shù)提供了支持遠程地址查找的功能。查詢存儲在本地設(shè)備的遠程地址,應(yīng)執(zhí)行專有解決方案。
3.4.1.3 網(wǎng)絡(luò)參數(shù)和功能函數(shù)(Network Variables and UtilityFunctions)
3.4.1.3.1 NLME_GetExtAddr()
這個函數(shù)將返回指向 IEEE 設(shè)備 64 地址的指針。
函數(shù)原型
byte *NLME_ GetExtAddr( void );
參數(shù)描述
空。
返回值
指向 64 位擴展地址的指針。
3.4.1.3.2 NLME_GetShortAddr()
這個函數(shù)將返回設(shè)備的(16 位短) ?網(wǎng)絡(luò)地址。
函數(shù)原型
uint16 NLME_GetShortAddr( void );
參數(shù)描述
空。
返回值.
16 位網(wǎng)絡(luò)(短)地址。
3.4.1.3.3 NLME_GetCoordShortAddr()
這個函數(shù)將返回設(shè)備父節(jié)點的(16 位短)網(wǎng)絡(luò)地址,這不是 Zigbee?協(xié)調(diào)器的短地址(它總是 0x0000),在 MAC 層的術(shù)語里,這個父節(jié)點就叫協(xié)調(diào)器。
函數(shù)原型
uint16 NLME_Get CoordShortAddr( void );
參數(shù)描述
空。
返回值
16 位網(wǎng)絡(luò)(短)地址。
3.4.1.3.4 NLME_GetCoordExtAddr()
這個函數(shù)是將獲得設(shè)備的父節(jié)點設(shè)備的 IEEE(64 位)地址,它不是 Zigbee?協(xié)調(diào)器的擴展地址。
在 MAC 層的術(shù)語里,這個父節(jié)點就叫協(xié)調(diào)器。
函數(shù)原型
void NLME_Get CoordExtAddr( byte *buf );
參數(shù)描述
指向父節(jié)點擴展地址的緩沖器指針。
返回值
空。
3.4.1.3.5 NLME_SetRequest()
這個函數(shù)允許相鄰的更高層設(shè)置網(wǎng)絡(luò)信息庫的屬性。
函數(shù)原型
ZStatus_t NLME_SetRequest( ZNwkAttributes_t NIBAttribute,uint16 Index,void *Value );
參數(shù)描述
NIBAttribute—僅支持如下屬性:
nwkProtocolVersion
Index—沒有使用。
Value—指向包含屬性值的內(nèi)存位置的指針。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.3.6 NLME_GetRequest()
這個函數(shù)允許相鄰的更高層獲得網(wǎng)絡(luò)信息庫的屬性值。
函數(shù)原型
ZStatus_t NLME_Get Request( ZNwkAttributes_t NIBAttribute,uint16 Index, void?*Value );
參數(shù)描述
NIBAttribute—僅支持如下屬性:
nwkCapabilityInfo
nwkNumNeighborTableEntries
nwkNeighborTable
nwkNumRoutingTable Entries
nwkRoutingTable
Index—用于表的索引。
Value—指向包含屬性值的內(nèi)存位置的指針。
返回值
ZStatus_t—定義在 ZComDef.h 中的狀態(tài)值。
3.4.1.3.7 NLME_IsAddressBroadcast()
此函數(shù)根據(jù)設(shè)備容量來評估提供的地址,根據(jù)給定的設(shè)備容量決定它是否是一個有效的廣播地址。
函數(shù)原型
addr_filter_t NLME_IsAddressBroadcast(uint16shortAddress);
參數(shù)描述
shortAddress —要測試的地址。
返回值
addr_filter_t—函數(shù)的結(jié)果類型如下:
3.4.1.3.8 NLME_GetProtocolVersion()
這個函數(shù)使用 GET API 在 NIB中檢索當(dāng)前的協(xié)議版本。這個函數(shù)僅僅為了便于使用。否則它將是一個二級過程(針對這里的實際情況而言)。
函數(shù)原型
byte NLME_GetProtocolVersion ();
詳細參數(shù)
空。
返回值
返回 LSB 中協(xié)議版本字節(jié),值為:
3.4.1.3.9 NLME_SetBroadcastFilter()
這個函數(shù)根據(jù)該設(shè)備的容量設(shè)置一個掩碼,它將用于處理有效的廣播地址。
函數(shù)原型
void NLME_SetBroadcastFilter(byte capabilities);
參數(shù)描述
Capabilities—這個設(shè)備的容量用于確定這個設(shè)備能處理的廣播信息類型。和加入功能中所用的容量相同。
返回值
空。
3.4.1.4 網(wǎng)絡(luò) Non-Volitile 存儲
如果在預(yù)編譯程序部分或 f8wConfig.cfg 中定義了NV_RESTORE,當(dāng)一個設(shè)備加入時,網(wǎng)絡(luò)信息庫將自動地保存這個行為。網(wǎng)絡(luò)信息庫 NV的初始化和恢復(fù)函數(shù)在設(shè)備啟動時自動調(diào)用。
如果用戶應(yīng)用程序修改網(wǎng)絡(luò)信息庫,必須直接調(diào)用 NLME_UpdateNV()。
3.4.1.4.1 NLME_UpdateNV()
這個函數(shù)將把 NIB 寫到非易失性存儲器。如果用戶應(yīng)用程序?qū)?NIB 有任何修改,此函數(shù)都會被調(diào)用。
如果網(wǎng)絡(luò)信息庫通過加入正常更新,則不需要調(diào)用此函數(shù)。
函數(shù)原型
void NLME_UpdateNV( byte enables );
參數(shù)描述
Enables—要保存的項目的掩碼:
返回值
空。
3.4.1.5 PAN ID 沖突(PAN ID Conflict)
因為 16 比特的 PAN ID 不是唯一的,所以在本地網(wǎng)絡(luò)的鄰居中可能存在 PAN ID的沖突。當(dāng)一個節(jié)點檢測到 PANID 沖突時,它會給指定的網(wǎng)絡(luò)管理器發(fā)送網(wǎng)絡(luò)報告命令,而網(wǎng)絡(luò)管理器收到這個網(wǎng)絡(luò)報告的命令后就會給網(wǎng)絡(luò)重新選擇一個新的 PANID。一旦新的 PAN ID 選擇好了,網(wǎng)絡(luò)管理器就會向網(wǎng)絡(luò)廣播一個網(wǎng)絡(luò)更新的命令(包含了新的 PANID),收到這個命令后,網(wǎng)絡(luò)中所有的設(shè)備就把它們當(dāng)前的 PAN ID 改成新的選定的 PAN ID。
3.4.1.5.1 NLME_SendNetworkReport ()
這個函數(shù)用來發(fā)送網(wǎng)絡(luò)報告命令。這個網(wǎng)絡(luò)報告命令允許一個設(shè)備向在網(wǎng)絡(luò)層信息庫(NIB)里指定地址為nwkManagerAddr 的設(shè)備報告網(wǎng)絡(luò)事件。這些事件是指信道沖突和 PAN ID 沖突。
函數(shù)原型
void NLME_SendNetworkReport ( uint16 dstAddr, uint8reportType, uint8 *EPID,uint8 reportInfoCnt,uint16 *panIDs );
參數(shù)描述
dstAddr – ?消息的目的地址
reportType – ?報告命令的類型
EPID – ?設(shè)備所在網(wǎng)絡(luò)的 64 比特的擴展 PAN?ID
reportInfoCnt – ?在 panIDs 域里包含的記錄數(shù)目
panIDs – ?報告設(shè)備的鄰居使用的 16 比特 PAN?ID 列表
返回值
空
3.4.1.5.2 NLME_SendNetworkUpdate()
這個函數(shù)用來發(fā)送網(wǎng)絡(luò)更新命令。這個網(wǎng)絡(luò)更新命令允許在網(wǎng)絡(luò)信息庫(NIB)被指定了 nwkManagerAddr這個屬性的設(shè)備向網(wǎng)絡(luò)中的所有設(shè)備廣播網(wǎng)絡(luò)的更改信息,比如,廣播網(wǎng)絡(luò)即將更改它的短 PAN 值。
函數(shù)原型
void NLME_SendNetworkUpdate ( uint16 dstAddr, uint8updateType, uint8 *EPID,
uint8 updateId, uint16 newPID );
參數(shù)描述
dstAddr – ?消息的目的地址
updateType – ?更新命令的類型
EPID –即將被更新的網(wǎng)絡(luò)的 64 比特的擴展 PAN ?ID
updateId – ?發(fā)送這個更像命令的設(shè)備目前的 nwkUpdateId屬性值
newPID – ?網(wǎng)絡(luò)使用的新 PAN ID
返回值
空
3.4.1.6 PAN 間信息發(fā)送(Inter-PAN Transmission)
Stub APS 子層提供了接口用來交換 PAN 間數(shù)據(jù),改變 PAN 間通信信道,和檢查PAN 間消息。
3.4.1.6.1 StubAPS_SetInterPanChannel()
這個函數(shù)允許應(yīng)用程序改變 PAN 間通信的信道。
函數(shù)原型
ZStatus_t StubAPS_SetInterPanChannel( uint8 channel );
參數(shù)描述
channel – ?新的通信信道
返回值
ZStatus_t – ?在 ZComDef.h.定義的狀態(tài)值
3.4.1.6.2 StubAPS_SetIntraPanChannel()
這個函數(shù)允許應(yīng)用程序把信道改變回原來的在網(wǎng)絡(luò)信息庫里(NIB)定義的信道
函數(shù)原型
ZStatus_t StubAPS_SetIntraPanChannel( void );
參數(shù)描述
空
返回值
ZStatus_t – ?在 ZComDef.h.定義的狀態(tài)值
3.4.1.6.3 StubAPS_InterPan()
這個函數(shù)允許應(yīng)用程序查看是否正在和一個不同的 PAN 進行通信
函數(shù)原型
uint8 StubAPS_InterPan( uint16 panId, uint8 endPoint );
參數(shù)描述
panId – ?PAN ?ID
endpoint – ?端口號
返回值
返回真如果是 PAN 間通信,否則返回假
3.4.1.6.4 StubAPS_RegisterApp()
這個函數(shù)允許應(yīng)用程序在 Stub APS 層注冊自己。
函數(shù)原型
uint8 StubAPS_RegisterApp( endPointDesc_t *epDesc );
參數(shù)描述
epDesc – ?應(yīng)用程序端口號描述符
返回值
空
3.4.1.7 ZMac 層設(shè)置發(fā)送功率(ZMacSetTransmitPower)
函數(shù)原型
uint8 ZMacSetTransmitPower( ZMacTransmitPower_t level );
參數(shù)描述
level – ?在 ZMAC.h 定義的有效的功率水平級數(shù)
返回值
返 回 ?ZMacSuccess ?如 果發(fā)現(xiàn)了PHY_TRANSMIT_POWER ,否則返回?ZMacUnsupportedAttribute。