一、类型
Zigbee的设备类型(Router、Coordinator、Enddevice之类)在Tools文件夹下。编译选项前加x来禁止编译这个选项。Coordinator默认的网络地址和接收端口是:0x0000、0x00
应用程序发送的两种类型数据:定时数据、非定时数据(Flash Control Message)
每一个应用程序对象(Application Object)都必须对应一个单独的端口(Endpoint),而每一个端口(Endpoint)都由一个Simple Descriptor定义。如果在同一Device中有多个Application Object,那么每个Application需要还需要一个Profile ID。
OSAL和HAL服务时互斥的。OSAL的TASK可以处理键盘 和 串口类型事件,这两个类型在Zstack中是不处理的。
Flash Control Message之说以叫Flash是因为经常操作闪灯的缘故,而非操作Flash存储器。
SampleApp_ProcessEvent()处理的事件是一个16-bit的掩码,也就是每一位表示一个事件。如果多个事件发生,那么这个处理函数一次只处理一种事件、通常是 时间要求最紧的事件,通常是SYS_EVENT_MSG。但是通常一次要处理掉所有同一种类型的事件,也就是说假如SYS_EVENT_MSG有多个,那么要将这多个在一次响应中处理掉。
信息的间接传输(indirect)是将信息发送到一个反射器(通常是 协调器),进行绑定表的匹配然后转发到目标地址。
AF_DATA_CONFIRM_CMD。如果data request是在AF_ACK_REQUEST条件下,返回的ZSuccess是在 OTA(Over the Air)消息到达指定的目的地址时返回的。如果不是在矮这个条件下,那么是在顺利到达下一跳的情况下返回的。
If ZDAPP_CONFIG_PAN_ID is defined as a valid value less than or equal to 0x3FFF, then the Coordinator will only attempt to establish a network with the specified Pan Id.
all router devices can be compiled as a Coordinator with SOFT_START defined
Devices that have successfully joined a network can “restore the network” (instead of reforming by OTA messages) even after losing power or battery. This automatic restoration can be enabled by defining NV_RESTORE and/or NV_INIT.
ZDO_STATE_CHANGE:As soon as a new network state is achieved, the task will get the
ZDO_STATE_CHANGE message. Note that when a device is built with NV_RESTORE and is connected to a network before a power cycle, the ZDO_STATE_CHANGE message will be received shortly after power-up with no OTA traffic because the “network connected” state has been restored from non-volatile memory.
AF_DataRequest()j将数据包通过应用层 到 网络层 然后到 MAC层。 应用层的数据发送到 网络层 缓冲区,加上 网络头和尾以及其他安全信息,加入到网络层的队列中。网络层并不马上发送新的数据包到 MAC层,而是等到下一次 应用层 调用网络层的时候再将缓冲区的数据发送到MAC层。