请问 将ZLL Light 上电,按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。这里ZLL Light上按键是在哪个程序文件里?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请问 将ZLL Light 上电,按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。这里ZLL Light上按键是在哪个程序文件里?
你说的是按键驱动?
就在工程里面hal_key.c
static void zllSampleLight_HandleKeys( byte shift, byte keys )
{
(void)shift; // Intentionally unreferenced parameter
#ifdef HAL_BOARD_ZLIGHT
// Zlight has only a single button
static uint32 keyPressTime = 0;
if ( keys )
{
keyPressTime = osal_getClock();
}
else //key released
{
if ( keyPressTime )
{
keyPressTime = ( osal_getClock() - keyPressTime );
if ( keyPressTime <= KEY_HOLD_SHORT_INTERVAL )
{
zllTarget_PermitJoin( PERMIT_JOIN_DURATION );
}
else if ( keyPressTime > KEY_HOLD_LONG_INTERVAL )
{
zllTarget_ClassicalCommissioningStart();
}
else
{
zllTarget_ResetToFactoryNew();
}
keyPressTime = 0;
}
}
#else //HAL_BOARD_CC2530EB ?
if ( keys & CLASSIC_COMMISS_KEY )
{
zllTarget_ClassicalCommissioningStart();
}
if ( keys & FACTORY_RESET_KEY )
{
zllTarget_ResetToFactoryNew();
}
if ( keys & PERMIT_JOIN_KEY )
{
zllTarget_PermitJoin( PERMIT_JOIN_DURATION );
HalLcdWriteString( "PermitJoin", HAL_LCD_LINE_3 );
}
if ( keys & DISPLAY_NWK_KEY_KEY )
{
#if ( HAL_LCD == TRUE )
zllSampleLight_PrintNwkKey( FALSE );
#endif //( HAL_LCD == TRUE )
}
#endif //HAL_BOARD_ZLIGHT
}
在samplelight _ZLight_Router工程里没有找到hal_key.c文件。只看到hal_key.h
陈工,Philips HUE网桥是公有协议,那么这个KEY也应该是标准开放的吧。也就是他们的网关允许其它第三方的灯入网。