mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 02:37:47 +00:00
not configure discovery scan duration (#1502)
This commit is contained in:
@@ -1334,7 +1334,6 @@ OTCALL
|
||||
otThreadDiscover(
|
||||
_In_ otInstance *aInstance,
|
||||
uint32_t aScanChannels,
|
||||
uint16_t aScanDuration,
|
||||
uint16_t aPanid,
|
||||
otHandleActiveScanResult aCallback,
|
||||
void *aCallbackContext
|
||||
@@ -1347,7 +1346,7 @@ otThreadDiscover(
|
||||
aInstance->InterfaceGuid, aCallback, aCallbackContext
|
||||
);
|
||||
|
||||
PackedBuffer4<GUID,uint32_t,uint16_t,uint16_t> Buffer(aInstance->InterfaceGuid, aScanChannels, aScanDuration, aPanid);
|
||||
PackedBuffer3<GUID,uint32_t,uint16_t> Buffer(aInstance->InterfaceGuid, aScanChannels, aPanid);
|
||||
return DwordToThreadError(SendIOCTL(aInstance->ApiHandle, IOCTL_OTLWF_OT_DISCOVER, &Buffer, sizeof(Buffer), nullptr, 0));
|
||||
}
|
||||
|
||||
|
||||
@@ -904,16 +904,14 @@ otLwfIoCtl_otDiscover(
|
||||
{
|
||||
NTSTATUS status = STATUS_INVALID_PARAMETER;
|
||||
|
||||
if (InBufferLength >= sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t))
|
||||
if (InBufferLength >= sizeof(uint32_t) + sizeof(uint16_t))
|
||||
{
|
||||
uint32_t aScanChannels = *(uint32_t*)InBuffer;
|
||||
uint16_t aScanDuration = *(uint16_t*)(InBuffer + sizeof(uint32_t));
|
||||
uint16_t aPanid = *(uint16_t*)(InBuffer + sizeof(uint32_t) + sizeof(uint16_t));
|
||||
uint16_t aPanid = *(uint16_t*)(InBuffer + sizeof(uint32_t));
|
||||
status = ThreadErrorToNtstatus(
|
||||
otThreadDiscover(
|
||||
pFilter->otCtx,
|
||||
aScanChannels,
|
||||
aScanDuration,
|
||||
aPanid,
|
||||
otLwfDiscoverCallback,
|
||||
pFilter)
|
||||
|
||||
@@ -114,7 +114,6 @@ OTAPI bool OTCALL otThreadIsSingleton(otInstance *aInstance);
|
||||
*
|
||||
* @param[in] aInstance A pointer to an OpenThread instance.
|
||||
* @param[in] aScanChannels A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK).
|
||||
* @param[in] aScanDuration The time in milliseconds to spend scanning each channel.
|
||||
* @param[in] aPanId The PAN ID filter (set to Broadcast PAN to disable filter).
|
||||
* @param[in] aCallback A pointer to a function called on receiving an MLE Discovery Response or scan completes.
|
||||
* @param[in] aCallbackContext A pointer to application-specific context.
|
||||
@@ -123,8 +122,7 @@ OTAPI bool OTCALL otThreadIsSingleton(otInstance *aInstance);
|
||||
* @retval kThreadError_Busy Already performing an Thread Discovery.
|
||||
*
|
||||
*/
|
||||
OTAPI ThreadError OTCALL otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aScanDuration,
|
||||
uint16_t aPanid,
|
||||
OTAPI ThreadError OTCALL otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanid,
|
||||
otHandleActiveScanResult aCallback, void *aCallbackContext);
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -709,7 +709,7 @@ void Interpreter::ProcessDiscover(int argc, char *argv[])
|
||||
scanChannels = 1 << value;
|
||||
}
|
||||
|
||||
SuccessOrExit(error = otThreadDiscover(mInstance, scanChannels, 0, OT_PANID_BROADCAST,
|
||||
SuccessOrExit(error = otThreadDiscover(mInstance, scanChannels, OT_PANID_BROADCAST,
|
||||
&Interpreter::s_HandleActiveScanResult, this));
|
||||
sServer->OutputFormat("| J | Network Name | Extended PAN | PAN | MAC Address | Ch | dBm | LQI |\r\n");
|
||||
sServer->OutputFormat("+---+------------------+------------------+------+------------------+----+-----+-----+\r\n");
|
||||
|
||||
@@ -652,11 +652,10 @@ bool otThreadIsSingleton(otInstance *aInstance)
|
||||
return aInstance->mThreadNetif.GetMle().IsSingleton();
|
||||
}
|
||||
|
||||
ThreadError otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aScanDuration, uint16_t aPanId,
|
||||
ThreadError otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId,
|
||||
otHandleActiveScanResult aCallback, void *aCallbackContext)
|
||||
{
|
||||
return aInstance->mThreadNetif.GetMle().Discover(aScanChannels, aScanDuration, aPanId, false,
|
||||
aCallback, aCallbackContext);
|
||||
return aInstance->mThreadNetif.GetMle().Discover(aScanChannels, aPanId, false, aCallback, aCallbackContext);
|
||||
}
|
||||
|
||||
bool otThreadIsDiscoverInProgress(otInstance *aInstance)
|
||||
|
||||
@@ -114,7 +114,7 @@ ThreadError Joiner::Start(const char *aPSKd, const char *aProvisioningUrl,
|
||||
SuccessOrExit(error);
|
||||
|
||||
mJoinerRouterPanId = Mac::kPanIdBroadcast;
|
||||
SuccessOrExit(error = mNetif.GetMle().Discover(0, 0, mNetif.GetMac().GetPanId(), true, HandleDiscoverResult, this));
|
||||
SuccessOrExit(error = mNetif.GetMle().Discover(0, mNetif.GetMac().GetPanId(), true, HandleDiscoverResult, this));
|
||||
|
||||
mVendorName = aVendorName;
|
||||
mVendorModel = aVendorModel;
|
||||
|
||||
@@ -74,7 +74,6 @@ MeshForwarder::MeshForwarder(ThreadNetif &aThreadNetif):
|
||||
mScheduleTransmissionTask(aThreadNetif.GetIp6().mTaskletScheduler, ScheduleTransmissionTask, this),
|
||||
mEnabled(false),
|
||||
mScanChannels(0),
|
||||
mScanDuration(0),
|
||||
mScanChannel(0),
|
||||
mRestoreChannel(0),
|
||||
mRestorePanId(Mac::kPanIdBroadcast),
|
||||
@@ -1620,7 +1619,7 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
if (mSendMessage->GetSubType() == Message::kSubTypeMleDiscoverRequest)
|
||||
{
|
||||
mSendBusy = true;
|
||||
mDiscoverTimer.Start(mScanDuration);
|
||||
mDiscoverTimer.Start(static_cast<uint16_t>(Mac::kScanDurationDefault));
|
||||
ExitNow();
|
||||
}
|
||||
}
|
||||
@@ -1661,10 +1660,9 @@ exit:
|
||||
}
|
||||
}
|
||||
|
||||
void MeshForwarder::SetDiscoverParameters(uint32_t aScanChannels, uint16_t aScanDuration)
|
||||
void MeshForwarder::SetDiscoverParameters(uint32_t aScanChannels)
|
||||
{
|
||||
mScanChannels = (aScanChannels == 0) ? static_cast<uint32_t>(Mac::kScanChannelsAll) : aScanChannels;
|
||||
mScanDuration = (aScanDuration == 0) ? static_cast<uint16_t>(Mac::kScanDurationDefault) : aScanDuration;
|
||||
}
|
||||
|
||||
void MeshForwarder::HandleDiscoverTimer(void *aContext)
|
||||
|
||||
@@ -151,10 +151,9 @@ public:
|
||||
* This method sets the scan parameters for MLE Discovery Request messages.
|
||||
*
|
||||
* @param[in] aScanChannels A bit vector indicating which channels to scan.
|
||||
* @param[in] aScanDuration The time in milliseconds to spend scanning each channel.
|
||||
*
|
||||
*/
|
||||
void SetDiscoverParameters(uint32_t aScanChannels, uint16_t aScanDuration);
|
||||
void SetDiscoverParameters(uint32_t aScanChannels);
|
||||
|
||||
/**
|
||||
* This method frees any indirect messages queued for a specific child.
|
||||
@@ -321,7 +320,6 @@ private:
|
||||
bool mEnabled;
|
||||
|
||||
uint32_t mScanChannels;
|
||||
uint16_t mScanDuration;
|
||||
uint8_t mScanChannel;
|
||||
uint8_t mRestoreChannel;
|
||||
uint16_t mRestorePanId;
|
||||
|
||||
@@ -375,8 +375,8 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
ThreadError Mle::Discover(uint32_t aScanChannels, uint16_t aScanDuration, uint16_t aPanId, bool aJoiner,
|
||||
DiscoverHandler aCallback, void *aContext)
|
||||
ThreadError Mle::Discover(uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, DiscoverHandler aCallback,
|
||||
void *aContext)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
Message *message = NULL;
|
||||
@@ -389,7 +389,7 @@ ThreadError Mle::Discover(uint32_t aScanChannels, uint16_t aScanDuration, uint16
|
||||
|
||||
mDiscoverHandler = aCallback;
|
||||
mDiscoverContext = aContext;
|
||||
mNetif.GetMeshForwarder().SetDiscoverParameters(aScanChannels, aScanDuration);
|
||||
mNetif.GetMeshForwarder().SetDiscoverParameters(aScanChannels);
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
message->SetSubType(Message::kSubTypeMleDiscoverRequest);
|
||||
|
||||
@@ -539,7 +539,6 @@ public:
|
||||
* This method initiates a Thread Discovery.
|
||||
*
|
||||
* @param[in] aScanChannels A bit vector indicating which channels to scan.
|
||||
* @param[in] aScanDuration The time in milliseconds to spend scanning each channel.
|
||||
* @param[in] aPanId The PAN ID filter (set to Broadcast PAN to disable filter).
|
||||
* @param[in] aJoiner Value of the Joiner Flag in the Discovery Request TLV.
|
||||
* @param[in] aHandler A pointer to a function that is called on receiving an MLE Discovery Response.
|
||||
@@ -549,8 +548,8 @@ public:
|
||||
* @retval kThreadError_Busy Thread Discovery is already in progress.
|
||||
*
|
||||
*/
|
||||
ThreadError Discover(uint32_t aScanChannels, uint16_t aScanDuration, uint16_t aPanId, bool aJoiner,
|
||||
DiscoverHandler aCallback, void *aContext);
|
||||
ThreadError Discover(uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, DiscoverHandler aCallback,
|
||||
void *aContext);
|
||||
|
||||
/**
|
||||
* This method indicates whether or not an MLE Thread Discovery is currently in progress.
|
||||
|
||||
Reference in New Issue
Block a user