esp-nimble-cpp/class_nim_b_l_e_scan.html
2022-10-30 17:19:11 +00:00

564 lines
30 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: NimBLEScan Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">esp-nimble-cpp
&#160;<span id="projectnumber">1.4.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_nim_b_l_e_scan.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_nim_b_l_e_scan-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">NimBLEScan Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Perform and manage BLE scans.
<a href="class_nim_b_l_e_scan.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a21b1e27816717b77533755f31dfaa820"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a21b1e27816717b77533755f31dfaa820">start</a> (uint32_t duration, void(*scanCompleteCB)(<a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a>), bool is_continue=false)</td></tr>
<tr class="memdesc:a21b1e27816717b77533755f31dfaa820"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start scanning. <a href="class_nim_b_l_e_scan.html#a21b1e27816717b77533755f31dfaa820">More...</a><br /></td></tr>
<tr class="separator:a21b1e27816717b77533755f31dfaa820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8459a1c69476fcdfd6370a1d10e0e159"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a8459a1c69476fcdfd6370a1d10e0e159">start</a> (uint32_t duration, bool is_continue=false)</td></tr>
<tr class="memdesc:a8459a1c69476fcdfd6370a1d10e0e159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start scanning and block until scanning has been completed. <a href="class_nim_b_l_e_scan.html#a8459a1c69476fcdfd6370a1d10e0e159">More...</a><br /></td></tr>
<tr class="separator:a8459a1c69476fcdfd6370a1d10e0e159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab788ad282fdbf4467302f6ad2d4d6016"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016">isScanning</a> ()</td></tr>
<tr class="memdesc:ab788ad282fdbf4467302f6ad2d4d6016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of the scanner. <a href="class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016">More...</a><br /></td></tr>
<tr class="separator:ab788ad282fdbf4467302f6ad2d4d6016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab275a9fec35c8957acf47689056d94af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#ab275a9fec35c8957acf47689056d94af">setAdvertisedDeviceCallbacks</a> (<a class="el" href="class_nim_b_l_e_advertised_device_callbacks.html">NimBLEAdvertisedDeviceCallbacks</a> *pAdvertisedDeviceCallbacks, bool wantDuplicates=false)</td></tr>
<tr class="memdesc:ab275a9fec35c8957acf47689056d94af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the call backs to be invoked. <a href="class_nim_b_l_e_scan.html#ab275a9fec35c8957acf47689056d94af">More...</a><br /></td></tr>
<tr class="separator:ab275a9fec35c8957acf47689056d94af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d24e77d6b339552b6ac16effdb54910"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910">setActiveScan</a> (bool active)</td></tr>
<tr class="memdesc:a7d24e77d6b339552b6ac16effdb54910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Should we perform an active or passive scan? The default is a passive scan. An active scan means that we will request a scan response. <a href="class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910">More...</a><br /></td></tr>
<tr class="separator:a7d24e77d6b339552b6ac16effdb54910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3e30d8b79aeb4d64af10d5f9d33788"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a3f3e30d8b79aeb4d64af10d5f9d33788">setInterval</a> (uint16_t intervalMSecs)</td></tr>
<tr class="memdesc:a3f3e30d8b79aeb4d64af10d5f9d33788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interval to scan. <a href="class_nim_b_l_e_scan.html#a3f3e30d8b79aeb4d64af10d5f9d33788">More...</a><br /></td></tr>
<tr class="separator:a3f3e30d8b79aeb4d64af10d5f9d33788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e8c921413f1ad217f45fecf63c0d22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#ac2e8c921413f1ad217f45fecf63c0d22">setWindow</a> (uint16_t windowMSecs)</td></tr>
<tr class="memdesc:ac2e8c921413f1ad217f45fecf63c0d22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the window to actively scan. <a href="class_nim_b_l_e_scan.html#ac2e8c921413f1ad217f45fecf63c0d22">More...</a><br /></td></tr>
<tr class="separator:ac2e8c921413f1ad217f45fecf63c0d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac40563af803f3b9ab88398c7f30e21bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#ac40563af803f3b9ab88398c7f30e21bb">setDuplicateFilter</a> (bool enabled)</td></tr>
<tr class="memdesc:ac40563af803f3b9ab88398c7f30e21bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether or not the BLE controller should only report results from devices it has not already seen. <a href="class_nim_b_l_e_scan.html#ac40563af803f3b9ab88398c7f30e21bb">More...</a><br /></td></tr>
<tr class="separator:ac40563af803f3b9ab88398c7f30e21bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77483be2bd9dad08322cc64f4e7012c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1">setLimitedOnly</a> (bool enabled)</td></tr>
<tr class="memdesc:a77483be2bd9dad08322cc64f4e7012c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether or not the BLE controller only report scan results from devices advertising in limited discovery mode, i.e. directed advertising. <a href="class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1">More...</a><br /></td></tr>
<tr class="separator:a77483be2bd9dad08322cc64f4e7012c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4248aabb5da67953eadab2a6f834d967"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967">setFilterPolicy</a> (uint8_t filter)</td></tr>
<tr class="memdesc:a4248aabb5da67953eadab2a6f834d967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scan filter policy. <a href="class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967">More...</a><br /></td></tr>
<tr class="separator:a4248aabb5da67953eadab2a6f834d967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a97fd1c7f16fccd7f19994592b6dfe6"><td class="memItemLeft" align="right" valign="top"><a id="a6a97fd1c7f16fccd7f19994592b6dfe6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a6a97fd1c7f16fccd7f19994592b6dfe6">clearDuplicateCache</a> ()</td></tr>
<tr class="memdesc:a6a97fd1c7f16fccd7f19994592b6dfe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the duplicate scan filter cache. <br /></td></tr>
<tr class="separator:a6a97fd1c7f16fccd7f19994592b6dfe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68fa5cc715f62a9a97ac0dccfb8557c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1">stop</a> ()</td></tr>
<tr class="memdesc:a68fa5cc715f62a9a97ac0dccfb8557c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop an in progress scan. <a href="class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1">More...</a><br /></td></tr>
<tr class="separator:a68fa5cc715f62a9a97ac0dccfb8557c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad421a09eeb021755b193a7a5e01f183b"><td class="memItemLeft" align="right" valign="top"><a id="ad421a09eeb021755b193a7a5e01f183b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#ad421a09eeb021755b193a7a5e01f183b">clearResults</a> ()</td></tr>
<tr class="memdesc:ad421a09eeb021755b193a7a5e01f183b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the results of the scan. <br /></td></tr>
<tr class="separator:ad421a09eeb021755b193a7a5e01f183b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae53719546e2d410c816e12c56aad61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61">getResults</a> ()</td></tr>
<tr class="memdesc:a2ae53719546e2d410c816e12c56aad61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the results of the scan. <a href="class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61">More...</a><br /></td></tr>
<tr class="separator:a2ae53719546e2d410c816e12c56aad61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9cd2462d00d7c0fa39d095aa2d8e81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81">setMaxResults</a> (uint8_t maxResults)</td></tr>
<tr class="memdesc:aad9cd2462d00d7c0fa39d095aa2d8e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the max number of results to store. <a href="class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81">More...</a><br /></td></tr>
<tr class="separator:aad9cd2462d00d7c0fa39d095aa2d8e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a566a9ef25b04e946ac23402bb760cda1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1">erase</a> (const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;address)</td></tr>
<tr class="memdesc:a566a9ef25b04e946ac23402bb760cda1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete peer device from the scan results vector. <a href="class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1">More...</a><br /></td></tr>
<tr class="separator:a566a9ef25b04e946ac23402bb760cda1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Perform and manage BLE scans. </p>
<p>Scanning is associated with a BLE client that is attempting to locate BLE servers. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a566a9ef25b04e946ac23402bb760cda1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a566a9ef25b04e946ac23402bb760cda1">&#9670;&nbsp;</a></span>erase()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::erase </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;&#160;</td>
<td class="paramname"><em>address</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete peer device from the scan results vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address of the device to delete from the results.</td></tr>
</table>
</dd>
</dl>
<p>After disconnecting, it may be required in the case we were connected to a device without a public address. </p>
</div>
</div>
<a id="a2ae53719546e2d410c816e12c56aad61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ae53719546e2d410c816e12c56aad61">&#9670;&nbsp;</a></span>getResults()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a> NimBLEScan::getResults </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the results of the scan. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_nim_b_l_e_scan_results.html" title="A class that contains and operates on the results of a BLE scan.">NimBLEScanResults</a> object. </dd></dl>
</div>
</div>
<a id="ab788ad282fdbf4467302f6ad2d4d6016"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab788ad282fdbf4467302f6ad2d4d6016">&#9670;&nbsp;</a></span>isScanning()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEScan::isScanning </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the status of the scanner. </p>
<dl class="section return"><dt>Returns</dt><dd>true if scanning or scan starting. </dd></dl>
</div>
</div>
<a id="a7d24e77d6b339552b6ac16effdb54910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d24e77d6b339552b6ac16effdb54910">&#9670;&nbsp;</a></span>setActiveScan()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setActiveScan </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>active</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Should we perform an active or passive scan? The default is a passive scan. An active scan means that we will request a scan response. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">active</td><td>If true, we perform an active scan otherwise a passive scan. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab275a9fec35c8957acf47689056d94af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab275a9fec35c8957acf47689056d94af">&#9670;&nbsp;</a></span>setAdvertisedDeviceCallbacks()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setAdvertisedDeviceCallbacks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_advertised_device_callbacks.html">NimBLEAdvertisedDeviceCallbacks</a> *&#160;</td>
<td class="paramname"><em>pAdvertisedDeviceCallbacks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>wantDuplicates</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the call backs to be invoked. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pAdvertisedDeviceCallbacks</td><td>Call backs to be invoked. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">wantDuplicates</td><td>True if we wish to be called back with duplicates. Default is false. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac40563af803f3b9ab88398c7f30e21bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac40563af803f3b9ab88398c7f30e21bb">&#9670;&nbsp;</a></span>setDuplicateFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setDuplicateFilter </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set whether or not the BLE controller should only report results from devices it has not already seen. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">enabled</td><td>If true, scanned devices will only be reported once.</td></tr>
</table>
</dd>
</dl>
<p>The controller has a limited buffer and will start reporting duplicate devices once the limit is reached. </p>
</div>
</div>
<a id="a4248aabb5da67953eadab2a6f834d967"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4248aabb5da67953eadab2a6f834d967">&#9670;&nbsp;</a></span>setFilterPolicy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setFilterPolicy </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>filter</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the scan filter policy. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Can be one of:<ul>
<li>BLE_HCI_SCAN_FILT_NO_WL (0) Scanner processes all advertising packets (white list not used) except<br />
directed, connectable advertising packets not sent to the scanner.</li>
<li>BLE_HCI_SCAN_FILT_USE_WL (1) Scanner processes advertisements from white list only. A connectable,<br />
directed advertisement is ignored unless it contains scanners address.</li>
<li>BLE_HCI_SCAN_FILT_NO_WL_INITA (2) Scanner process all advertising packets (white list not used). A<br />
connectable, directed advertisement shall not be ignored if the InitA is a resolvable private address.</li>
<li>BLE_HCI_SCAN_FILT_USE_WL_INITA (3) Scanner process advertisements from white list only. A connectable,<br />
directed advertisement shall not be ignored if the InitA is a resolvable private address. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3f3e30d8b79aeb4d64af10d5f9d33788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f3e30d8b79aeb4d64af10d5f9d33788">&#9670;&nbsp;</a></span>setInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setInterval </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>intervalMSecs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the interval to scan. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">intervalMSecs</td><td>The scan interval (how often) in milliseconds. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a77483be2bd9dad08322cc64f4e7012c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77483be2bd9dad08322cc64f4e7012c1">&#9670;&nbsp;</a></span>setLimitedOnly()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setLimitedOnly </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set whether or not the BLE controller only report scan results from devices advertising in limited discovery mode, i.e. directed advertising. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">enabled</td><td>If true, only limited discovery devices will be in scan results. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aad9cd2462d00d7c0fa39d095aa2d8e81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad9cd2462d00d7c0fa39d095aa2d8e81">&#9670;&nbsp;</a></span>setMaxResults()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setMaxResults </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>maxResults</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the max number of results to store. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">maxResults</td><td>The number of results to limit storage to<br />
0 == none (callbacks only) 0xFF == unlimited, any other value is the limit. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac2e8c921413f1ad217f45fecf63c0d22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2e8c921413f1ad217f45fecf63c0d22">&#9670;&nbsp;</a></span>setWindow()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEScan::setWindow </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>windowMSecs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the window to actively scan. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">windowMSecs</td><td>How long to actively scan. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8459a1c69476fcdfd6370a1d10e0e159"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8459a1c69476fcdfd6370a1d10e0e159">&#9670;&nbsp;</a></span>start() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a> NimBLEScan::start </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_continue</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start scanning and block until scanning has been completed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">duration</td><td>The duration in seconds for which to scan. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_continue</td><td>Set to true to save previous scan results, false to clear them. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="class_nim_b_l_e_scan_results.html" title="A class that contains and operates on the results of a BLE scan.">NimBLEScanResults</a>. </dd></dl>
</div>
</div>
<a id="a21b1e27816717b77533755f31dfaa820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21b1e27816717b77533755f31dfaa820">&#9670;&nbsp;</a></span>start() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEScan::start </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(*)(<a class="el" href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a>)&#160;</td>
<td class="paramname"><em>scanCompleteCB</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_continue</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start scanning. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">duration</td><td>The duration in seconds for which to scan. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">scanCompleteCB</td><td>A function to be called when scanning has completed. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_continue</td><td>Set to true to save previous scan results, false to clear them. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if scan started or false if there was an error. </dd></dl>
</div>
</div>
<a id="a68fa5cc715f62a9a97ac0dccfb8557c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68fa5cc715f62a9a97ac0dccfb8557c1">&#9670;&nbsp;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEScan::stop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stop an in progress scan. </p>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_nim_b_l_e_scan.html">NimBLEScan</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>