示例#1
0
void StateChangedCallback(uint32_t aFlags,  void *aContext)
{
    if ((aFlags & OT_CHANGED_COMMISSIONER_STATE) != 0)
    {
        if (otCommissionerGetState(sInstance) == OT_COMMISSIONER_STATE_ACTIVE)
        {
            ClkChange(sysclk_XTAL16M, sysclk_PLL96);
        }
        else
        {
            ClkChange(sysclk_PLL96, sysclk_XTAL16M);
        }
    }

    if ((aFlags & OT_CHANGED_JOINER_STATE) != 0)
    {
        if (otJoinerGetState(sInstance) != OT_JOINER_STATE_IDLE)
        {
            ClkChange(sysclk_XTAL16M, sysclk_PLL96);
        }
        else
        {
            ClkChange(sysclk_PLL96, sysclk_XTAL16M);
        }
    }
}
示例#2
0
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_MESHCOP_COMMISSIONER_STATE>(void)
{
    uint8_t state = SPINEL_MESHCOP_COMMISSIONER_STATE_DISABLED;

    switch (otCommissionerGetState(mInstance))
    {
    case OT_COMMISSIONER_STATE_DISABLED:
        state = SPINEL_MESHCOP_COMMISSIONER_STATE_DISABLED;
        break;

    case OT_COMMISSIONER_STATE_PETITION:
        state = SPINEL_MESHCOP_COMMISSIONER_STATE_PETITION;
        break;

    case OT_COMMISSIONER_STATE_ACTIVE:
        state = SPINEL_MESHCOP_COMMISSIONER_STATE_ACTIVE;
        break;
    }

    return mEncoder.WriteUint8(state);
}
示例#3
0
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_COMMISSIONER_ENABLED>(void)
{
    return mEncoder.WriteBool(otCommissionerGetState(mInstance) == OT_COMMISSIONER_STATE_ACTIVE);
}