Remote遥控器怎样实现一次toucklink后组进多个设备?
在这段代码里,touchlink后每次选择的是最好的rssi,也就老是最近距离的
uint8 selectThisTarget = FALSE;
int8 rssi = zll_GetMsgRssi();
if ( pfnSelectDiscDevCB != NULL )
{
selectThisTarget = pfnSelectDiscDevCB( pRsp, rssi );
}
// Default selection - according to RSSI
else if ( rssi > ZLL_TL_WORST_RSSI )//-40 dbm
{
if ( ( rssi + pRsp->rssiCorrection ) > selectedTarget.lastRssi )
{
// Better RSSI, select this target
selectThisTarget = TRUE;
}
}
现在我们想要把Remode做成一个面板开关产品,固定位置,一次toucklink后可将多个灯组进去并且距离比较远。是否可以实现?需要在哪块代码里修改?
一次就把所有设备TL进来是不可能的,你可以通过按键触发一次TL以后,然后自动的再触发几次TL,并且把RSSI阈值调低点,这样可以把更多的灯TL进来
谢谢你的回答,我按照这个方法实现了:
0. 按键激发TL:
1. 逐个扫描主要channels
2. 有Scan Response,暂停扫描,判断RSSI(阀值最低-120dbm)和灯是否是FactoryNew(灯自己不是FactoryNew不会向遥控器Response)
3. 满足条件入网 / 不满足不选择。
4. 之后激活扫描时间,从之前暂停的频道继续扫描
5. 若有Scan Response,暂停扫描,无则继续扫描。每次继续扫描之前更换TransID。
6. 所有主要channels和次要channels都扫描完毕
7. 退出扫描事件,完成TL工作。
现在问题就是速度有点慢,灯设备越多,TL组网一次越慢,唉.....