微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > ZLL 1.02 Bridge 重启 与 Remote 重启 问题

ZLL 1.02 Bridge 重启 与 Remote 重启 问题

时间:10-02 整理:3721RD 点击:

All

用SmartRF 05EB+2530EM 测试ZLL1.0.2, Download SampleBridge和SampleLight到EB板, 按照"Z-Stack Lighting Sample Application User's Guide", 测试功能没有问题, Touch搜到light, ON/OFF控制 light, 但是 Bridge重启后, 就不能再对Light的控制, 需要再touch才能控制.

我在调试中也遇到了这样的问题。请问TI员工我如何做才能让 Bridge重启后 或Remote重启后仍能对已连接过的Light进行控制?

请Ti员工百忙中给予解答, Thanks.

我这边验证了下,确实存在这个问题,之后给你个答复。

谢谢!

你好,

在重启以后,当你再去ON/OFF控制一个灯的时候,调用的是下面程序

zclGeneral_SendOnOff_CmdOn( SAMPLEBRIDGE_ENDPOINT, &zllSampleBridge_DstAddr, FALSE, sampleBridgeSeqNum++ );

在上面这个函数里面因为Reset,所以zllSampleBridge_DstAddr被初始化,所以值为0

在zllSampleBridge_Init被初始化。

那么这个命令显示是一个无效的命令,因为目的地址不对。

正确的做法是,需要选择一个合适的灯,选择灯的时候,就把这个目的地址获取到了,之后就可以控制了

选择灯也是通过按键实现的

if ( keys == DEV_SEL_UP_KEY )
{
if ( linkedAddrNum > 0 )
{
if( (linkedAddrSelIdx+1) >= linkedAddrNum )
{
linkedAddrSelIdx = 0;
}
else
{
linkedAddrSelIdx++;
}
zllSampleBridge_DstAddr.addrMode = afAddr16Bit;
zllSampleBridge_DstAddr.addr.shortAddr = linkedTargets.arr[linkedAddrSelIdx].Addr;
zllSampleBridge_DstAddr.endPoint = linkedTargets.arr[linkedAddrSelIdx].EP;

zclGeneral_SendIdentify( SAMPLEBRIDGE_ENDPOINT, &zllSampleBridge_DstAddr,
SAMPLEBRIDGE_CMD_IDENTIFY_TIME, FALSE, sampleBridgeSeqNum++ );

HalLcdWriteStringValue( "Dev Sel:", zllSampleBridge_DstAddr.addr.shortAddr, 16, HAL_LCD_LINE_3 );
}
else
{
HalLcdWriteString( "Dev Sel: no trgt", HAL_LCD_LINE_3 );
}
}

if ( keys == DEV_SEL_DN_KEY )

Thanks  W    

根据的回答进行测试 其结果是正确的!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top