1.JN5169平台协议栈不支持的部分libC库函数(持续更新中。。。)
malloc free snprintf
2.JN5169基于JN-SW-4170的SDK运行JN-AN-1216-Zigbee-3-0-IoT-ControlBridge应用出现LQI Response错误的问题
解决方法:
修改JN-AN-1216-Zigbee-3-0-IoT-ControlBridge\Source\ZigbeeNodeControlBridge\app_general_events_handler.c文件
1.增加宏定义#define FIX_STACK_LQI_RESPONSE_STATUS 0xC1
2.增加收到其他异常状态值打印信息
3.修改收到ZPS_ZDP_MGMT_LQI_RSP_CLUSTER_ID后的特殊处理
修改后如下图左边所示:
3.JN-AN-1216-Zigbee-3-0-IoT-ControlBridge中APP_bSendHATransportKey函数的BUG
解决方法:
修改JN-AN-1216-Zigbee-3-0-IoT-ControlBridge\Source\ZigbeeNodeControlBridge\app_Znc_cmds.c文件中的APP_bSendHATransportKey函数
修改后如下图左边所示:
4.JN-AN-1216-Zigbee-3-0-IoT-ControlBridge中vSL_LogSend函数的BUG
解决办法:
修改JN-AN-1216-Zigbee-3-0-IoT-ControlBridge\Source\ZigbeeNodeControlBridge\SerialLink.c文件中的vSL_LogSend函数
修改后如下图左边所示:
5.JN-AN-1216-Zigbee-3-0-IoT-ControlBridge中ZigBee回复主控的E_SL_MSG_NETWORK_JOINED_FORMED(0x8024)payload结构变化,导致主控拿不到PAN ID和扩展PAN ID上报服务器的问题
旧版本HA 回复E_SL_MSG_NETWORK_JOINED_FORMED(0x8024)命令如下:
01 80 24 00 16 93 01 00 00 00 15 8D 00 01 49 F1 9A 0B 00 15 8D 00 01 49 F1 9A 13 38 03 状态+Short ID+EUI64+Channel+EPID+PANID
zigbee 3.0回复E_SL_MSG_NETWORK_JOINED_FORMED(0x8024)命令如下:
01 80 24 00 0C 19 01 00 00 00 15 8D 00 01 49 F1 9A 0B 03 状态+Short ID+EUI64+Channel
解决办法:主控收到E_SL_MSG_NETWORK_JOINED_FORMED(0x8024)命令后判断长度为0C则立即发一条E_SL_MSG_NETWORK_STATE_REQ(0x0009)命令给zigbee,
zigbee回复E_SL_MSG_NETWORK_STATE_RSP(0x8009)的命令中携带PAN ID和扩展PAN ID,可用于上报服务器
zigbee 3.0回复E_SL_MSG_NETWORK_STATE_RSP(0x8009)命令如下:
01 80 09 00 15 18 00 00 00 15 8D 00 01 49 F1 9A A8 66 C9 4B 54 6B 59 05 FA E7 0D 03
解析规则:Short ID(0x0000) + EUI64(0x00158D000149F19A) + PANID(0xA866) + EPID(0xC94B546B5905FAE7) + Channel(0x0D)
6.JN-AN-1216-Zigbee-3-0-IoT-ControlBridge中ZigBee收到门锁的自定义命令(0xFC00)的分包数据时,出现协议栈错误的问题
解决方法:修改ZigbeeNodeControlBridgeCoordinator_GP_Proxy.zpscfg文件里的APDU"apduZDP"下面的Propertie如下:
增大Instances为9,必须为Maximum Number of Simultaneous Data Requests with Acks的3倍
增大Size为280,这个为最大数据包(分包)总大小
此时会出现打印错误:
解决方法:缩小router table size,如下: