Chengdu Ebyte Electronic Technology Co.,ltd.
Copyright ©2012–2019
,
Chengdu Ebyte Electronic Technology Co.,Ltd.
5-8
2) Element Shenzhen Office (headquartered in England)
Please refer to below wiki link for details:
http://processors.wiki.ti.com/index.php/ZigBee_Product_Certification_Guide
③
How to select the 64-bit MAC address of the device?
There are two IEEE addresses in CC2530, one is Primary IEEE address, the other is Secondary address. Primary
IEEE address is stored in Information Page of the chip, this address is bought by TI from IEEE, each chip has one unique
address. Users could only Read this value and cannot modify or erase it. By reading the address in the protocol stack,
users can obtain osal_memcpy (aExtendedAddress, (uint8 *)(P_IHAL_INFOP_IEEE_OSET),
Z_EXTADDR_LEN). Secondary address is stored in the last Page of the Flash of CC2530, users can Read/Write with the
function
HalFlashRead
(HAL_FLASH_IEEE_PAGE,
HAL_FLASH_IEEE_OSET,
aExtendedAddress,
Z_EXTADDR_LEN).
When the protocol stack is operating, how to select Primary IEEE address or Secondary address as MAC address?
Please operate in the function zmain_ext_addr(void).
1) Read IEEE address from NV, if it already exists (not 0xFF), use this address as MAC address;
2) If not in 1), read from the Secondary IEEE address storage place, if it exists (not 0xFF), write the address into NV,
and use this address as MAC address;
3) If not in 2), read from the Primary IEEE address storage place, if it exists (not 0xFF), write the address into NV,
and use this address as MAC address;
4) If not in 3), generate one 64-bit variable randomly, write it into NV, use it as MAC address.
④
How to forbid node from searching network, or extend the interval for sending Beacon Request?
End Device is low power consumption device powered by battery, after cutting from network, how to forbid the
node from searching network, or how to extend the interval for sending Beacon Request.
1)Start searching network uint8 ZDApp_StartJoiningCycle( void )
Stop searching network uint8 ZDApp_StopJoiningCycle( void )
2) Change the Beacon Request sending period
Modify the variable zgDefaultStartingScanDuration
// Beacon Order Values
#define BEACON_ORDER_NO_BEACONS
15
#define BEACON_ORDER_4_MINUTES
14 // 245760 milliseconds
#define BEACON_ORDER_2_MINUTES
13 // 122880 milliseconds
#define BEACON_ORDER_1_MINUTE
12 // 61440 milliseconds
#define BEACON_ORDER_31_SECONDS
11 // 30720 milliseconds
#define BEACON_ORDER_15_SECONDS
10 // 15360 MSecs
#define BEACON_ORDER_7_5_SECONDS
9 //
7680 MSecs
#define BEACON_ORDER_4_SECONDS
8 //
3840 MSecs
#define BEACON_ORDER_2_SECONDS
7 //
1920 MSecs
#define BEACON_ORDER_1_SECOND
6 //
960 MSecs
#define BEACON_ORDER_480_MSEC
5
#define BEACON_ORDER_240_MSEC
4
#define BEACON_ORDER_120_MSEC
3
#define BEACON_ORDER_60_MSEC
2