esp-nimble-cpp/class_nim_b_l_e_client.html
2022-01-15 15:23:57 -07:00

980 lines
54 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: NimBLEClient 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.3.2</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_client.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_client-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">NimBLEClient Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A model of a BLE client.
<a href="class_nim_b_l_e_client.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:aab311f0a8af21fb63f78e7fbac29951a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aab311f0a8af21fb63f78e7fbac29951a">connect</a> (<a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *device, bool deleteAttibutes=true)</td></tr>
<tr class="memdesc:aab311f0a8af21fb63f78e7fbac29951a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to an advertising device. <a href="class_nim_b_l_e_client.html#aab311f0a8af21fb63f78e7fbac29951a">More...</a><br /></td></tr>
<tr class="separator:aab311f0a8af21fb63f78e7fbac29951a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9188741bf29d58d5ff1352383c959b7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a9188741bf29d58d5ff1352383c959b7b">connect</a> (const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;address, bool deleteAttibutes=true)</td></tr>
<tr class="memdesc:a9188741bf29d58d5ff1352383c959b7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the BLE Server. <a href="class_nim_b_l_e_client.html#a9188741bf29d58d5ff1352383c959b7b">More...</a><br /></td></tr>
<tr class="separator:a9188741bf29d58d5ff1352383c959b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836438fc9d5c2001207249661ad10e01"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a836438fc9d5c2001207249661ad10e01">connect</a> (bool deleteAttibutes=true)</td></tr>
<tr class="memdesc:a836438fc9d5c2001207249661ad10e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the BLE Server. <a href="class_nim_b_l_e_client.html#a836438fc9d5c2001207249661ad10e01">More...</a><br /></td></tr>
<tr class="separator:a836438fc9d5c2001207249661ad10e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f77999664cc8a83f3cdb603ba4a5c8c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a5f77999664cc8a83f3cdb603ba4a5c8c">disconnect</a> (uint8_t reason=BLE_ERR_REM_USER_CONN_TERM)</td></tr>
<tr class="memdesc:a5f77999664cc8a83f3cdb603ba4a5c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from the peer. <a href="class_nim_b_l_e_client.html#a5f77999664cc8a83f3cdb603ba4a5c8c">More...</a><br /></td></tr>
<tr class="separator:a5f77999664cc8a83f3cdb603ba4a5c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0477ba593f0b7c0cfc4697efdba703eb"><td class="memItemLeft" align="right" valign="top"><a id="a0477ba593f0b7c0cfc4697efdba703eb"></a>
<a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0477ba593f0b7c0cfc4697efdba703eb">getPeerAddress</a> ()</td></tr>
<tr class="memdesc:a0477ba593f0b7c0cfc4697efdba703eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the address of the peer. <br /></td></tr>
<tr class="separator:a0477ba593f0b7c0cfc4697efdba703eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b5b7c01e58a95dcea335f837d81d07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a93b5b7c01e58a95dcea335f837d81d07">setPeerAddress</a> (const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;address)</td></tr>
<tr class="memdesc:a93b5b7c01e58a95dcea335f837d81d07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the peer address. <a href="class_nim_b_l_e_client.html#a93b5b7c01e58a95dcea335f837d81d07">More...</a><br /></td></tr>
<tr class="separator:a93b5b7c01e58a95dcea335f837d81d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae216993cf4eeb5780a104a8b14044f78"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ae216993cf4eeb5780a104a8b14044f78">getRssi</a> ()</td></tr>
<tr class="memdesc:ae216993cf4eeb5780a104a8b14044f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ask the BLE server for the RSSI value. <a href="class_nim_b_l_e_client.html#ae216993cf4eeb5780a104a8b14044f78">More...</a><br /></td></tr>
<tr class="separator:ae216993cf4eeb5780a104a8b14044f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb9007569b3bb13b3b49f3c4cb47b21a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#acb9007569b3bb13b3b49f3c4cb47b21a">getServices</a> (bool refresh=false)</td></tr>
<tr class="memdesc:acb9007569b3bb13b3b49f3c4cb47b21a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of found services. <a href="class_nim_b_l_e_client.html#acb9007569b3bb13b3b49f3c4cb47b21a">More...</a><br /></td></tr>
<tr class="separator:acb9007569b3bb13b3b49f3c4cb47b21a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab09639b499fdcd0021a2432b2b8203f5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5">begin</a> ()</td></tr>
<tr class="memdesc:ab09639b499fdcd0021a2432b2b8203f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the beginning of the vector of remote service pointers. <a href="class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5">More...</a><br /></td></tr>
<tr class="separator:ab09639b499fdcd0021a2432b2b8203f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0accd665926ea77d85ecb483b2b853fe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe">end</a> ()</td></tr>
<tr class="memdesc:a0accd665926ea77d85ecb483b2b853fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the end of the vector of remote service pointers. <a href="class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe">More...</a><br /></td></tr>
<tr class="separator:a0accd665926ea77d85ecb483b2b853fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae22379ab10bd82932d2303fb3753c366"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366">getService</a> (const char *uuid)</td></tr>
<tr class="memdesc:ae22379ab10bd82932d2303fb3753c366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the service BLE Remote Service instance corresponding to the uuid. <a href="class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366">More...</a><br /></td></tr>
<tr class="separator:ae22379ab10bd82932d2303fb3753c366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ba10522d79af1136019606802f0978"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978">getService</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memdesc:ad8ba10522d79af1136019606802f0978"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the service object corresponding to the uuid. <a href="class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978">More...</a><br /></td></tr>
<tr class="separator:ad8ba10522d79af1136019606802f0978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a668d476de250055a106a9f46bb7719f3"><td class="memItemLeft" align="right" valign="top"><a id="a668d476de250055a106a9f46bb7719f3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a668d476de250055a106a9f46bb7719f3">deleteServices</a> ()</td></tr>
<tr class="memdesc:a668d476de250055a106a9f46bb7719f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all service objects created by this client and clear the vector. <br /></td></tr>
<tr class="separator:a668d476de250055a106a9f46bb7719f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f940c51807469db1f1802b742180beb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb">deleteService</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memdesc:a0f940c51807469db1f1802b742180beb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete service by UUID. <a href="class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb">More...</a><br /></td></tr>
<tr class="separator:a0f940c51807469db1f1802b742180beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd7b5c40f3c190a542f25b0b9e4afaf3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#afd7b5c40f3c190a542f25b0b9e4afaf3">getValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;serviceUUID, const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUUID)</td></tr>
<tr class="memdesc:afd7b5c40f3c190a542f25b0b9e4afaf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a specific characteristic associated with a specific service. <a href="class_nim_b_l_e_client.html#afd7b5c40f3c190a542f25b0b9e4afaf3">More...</a><br /></td></tr>
<tr class="separator:afd7b5c40f3c190a542f25b0b9e4afaf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0910bbe298a68e9122a169ab229bf767"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0910bbe298a68e9122a169ab229bf767">setValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;serviceUUID, const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUUID, const std::string &amp;value, bool response=false)</td></tr>
<tr class="memdesc:a0910bbe298a68e9122a169ab229bf767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of a specific characteristic associated with a specific service. <a href="class_nim_b_l_e_client.html#a0910bbe298a68e9122a169ab229bf767">More...</a><br /></td></tr>
<tr class="separator:a0910bbe298a68e9122a169ab229bf767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fc46f43a71dd0df63a377961baf8009"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2fc46f43a71dd0df63a377961baf8009">getCharacteristic</a> (const uint16_t handle)</td></tr>
<tr class="memdesc:a2fc46f43a71dd0df63a377961baf8009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the remote characteristic with the specified handle. <a href="class_nim_b_l_e_client.html#a2fc46f43a71dd0df63a377961baf8009">More...</a><br /></td></tr>
<tr class="separator:a2fc46f43a71dd0df63a377961baf8009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1603da59b829f75b162ac4a65ce181c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#af1603da59b829f75b162ac4a65ce181c">isConnected</a> ()</td></tr>
<tr class="memdesc:af1603da59b829f75b162ac4a65ce181c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are we connected to a server? <a href="class_nim_b_l_e_client.html#af1603da59b829f75b162ac4a65ce181c">More...</a><br /></td></tr>
<tr class="separator:af1603da59b829f75b162ac4a65ce181c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeede4deef7421b9121387a786c07820c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">setClientCallbacks</a> (<a class="el" href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a> *pClientCallbacks, bool deleteCallbacks=true)</td></tr>
<tr class="memdesc:aeede4deef7421b9121387a786c07820c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callbacks that will be invoked when events are received. <a href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">More...</a><br /></td></tr>
<tr class="separator:aeede4deef7421b9121387a786c07820c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9ae035357776514b61c2b6286ce1ab"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aba9ae035357776514b61c2b6286ce1ab">toString</a> ()</td></tr>
<tr class="memdesc:aba9ae035357776514b61c2b6286ce1ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of this client. <a href="class_nim_b_l_e_client.html#aba9ae035357776514b61c2b6286ce1ab">More...</a><br /></td></tr>
<tr class="separator:aba9ae035357776514b61c2b6286ce1ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa09466a7050bf08bab2390da66007896"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aa09466a7050bf08bab2390da66007896">getConnId</a> ()</td></tr>
<tr class="memdesc:aa09466a7050bf08bab2390da66007896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the connection id for this client. <a href="class_nim_b_l_e_client.html#aa09466a7050bf08bab2390da66007896">More...</a><br /></td></tr>
<tr class="separator:aa09466a7050bf08bab2390da66007896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab971537eec4e53d621598eb1c760af3a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ab971537eec4e53d621598eb1c760af3a">getMTU</a> ()</td></tr>
<tr class="memdesc:ab971537eec4e53d621598eb1c760af3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current mtu of this connection. <a href="class_nim_b_l_e_client.html#ab971537eec4e53d621598eb1c760af3a">More...</a><br /></td></tr>
<tr class="separator:ab971537eec4e53d621598eb1c760af3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79935ecbe94f2a41e0106d011edafac4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a79935ecbe94f2a41e0106d011edafac4">secureConnection</a> ()</td></tr>
<tr class="memdesc:a79935ecbe94f2a41e0106d011edafac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate a secure connection (pair/bond) with the server.<br />
Called automatically when a characteristic or descriptor requires encryption or authentication to access it. <a href="class_nim_b_l_e_client.html#a79935ecbe94f2a41e0106d011edafac4">More...</a><br /></td></tr>
<tr class="separator:a79935ecbe94f2a41e0106d011edafac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4068b29a9bd12e3110465908864dd20e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a4068b29a9bd12e3110465908864dd20e">setConnectTimeout</a> (uint8_t timeout)</td></tr>
<tr class="memdesc:a4068b29a9bd12e3110465908864dd20e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timeout to wait for connection attempt to complete. <a href="class_nim_b_l_e_client.html#a4068b29a9bd12e3110465908864dd20e">More...</a><br /></td></tr>
<tr class="separator:a4068b29a9bd12e3110465908864dd20e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17718339f76eb621db0d7919c73b9267"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267">setConnectionParams</a> (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout, uint16_t scanInterval=16, uint16_t scanWindow=16)</td></tr>
<tr class="memdesc:a17718339f76eb621db0d7919c73b9267"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the connection paramaters to use when connecting to a server. <a href="class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267">More...</a><br /></td></tr>
<tr class="separator:a17718339f76eb621db0d7919c73b9267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7d389ec48567286ea732c54d320526"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aff7d389ec48567286ea732c54d320526">updateConnParams</a> (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout)</td></tr>
<tr class="memdesc:aff7d389ec48567286ea732c54d320526"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the connection parameters: <a href="class_nim_b_l_e_client.html#aff7d389ec48567286ea732c54d320526">More...</a><br /></td></tr>
<tr class="separator:aff7d389ec48567286ea732c54d320526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a0114a126e0e58f7b4359c74f4ed41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a33a0114a126e0e58f7b4359c74f4ed41">setDataLen</a> (uint16_t tx_octets)</td></tr>
<tr class="memdesc:a33a0114a126e0e58f7b4359c74f4ed41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request an update of the data packet length. <a href="class_nim_b_l_e_client.html#a33a0114a126e0e58f7b4359c74f4ed41">More...</a><br /></td></tr>
<tr class="separator:a33a0114a126e0e58f7b4359c74f4ed41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d8cbf51caf8b3b8a0ec6ce2074ba71d"><td class="memItemLeft" align="right" valign="top"><a id="a3d8cbf51caf8b3b8a0ec6ce2074ba71d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a3d8cbf51caf8b3b8a0ec6ce2074ba71d">discoverAttributes</a> ()</td></tr>
<tr class="memdesc:a3d8cbf51caf8b3b8a0ec6ce2074ba71d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the full database of attributes that the peripheral has available. <br /></td></tr>
<tr class="separator:a3d8cbf51caf8b3b8a0ec6ce2074ba71d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a566207f548c6b799792fc092f1748267"><td class="memItemLeft" align="right" valign="top"><a id="a566207f548c6b799792fc092f1748267"></a>
<a class="el" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a566207f548c6b799792fc092f1748267">getConnInfo</a> ()</td></tr>
<tr class="memdesc:a566207f548c6b799792fc092f1748267"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get detailed information about the current peer connection. <br /></td></tr>
<tr class="separator:a566207f548c6b799792fc092f1748267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a178d06bed13028e4ae0384923062d18d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a178d06bed13028e4ae0384923062d18d">getLastError</a> ()</td></tr>
<tr class="memdesc:a178d06bed13028e4ae0384923062d18d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last error code reported by the NimBLE host. <a href="class_nim_b_l_e_client.html#a178d06bed13028e4ae0384923062d18d">More...</a><br /></td></tr>
<tr class="separator:a178d06bed13028e4ae0384923062d18d"><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>A model of a BLE client. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab09639b499fdcd0021a2432b2b8203f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab09639b499fdcd0021a2432b2b8203f5">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator NimBLEClient::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get iterator to the beginning of the vector of remote service pointers. </p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the beginning of the vector of remote service pointers. </dd></dl>
</div>
</div>
<a id="a836438fc9d5c2001207249661ad10e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a836438fc9d5c2001207249661ad10e01">&#9670;&nbsp;</a></span>connect() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttibutes</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connect to the BLE Server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">deleteAttibutes</td><td>If true this will delete any attribute objects this client may already<br />
have created and clears the vectors after successful connection. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success. </dd></dl>
</div>
</div>
<a id="a9188741bf29d58d5ff1352383c959b7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9188741bf29d58d5ff1352383c959b7b">&#9670;&nbsp;</a></span>connect() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttibutes</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connect to the BLE Server. </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 server. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">deleteAttibutes</td><td>If true this will delete any attribute objects this client may already<br />
have created and clears the vectors after successful connection. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success. </dd></dl>
</div>
</div>
<a id="aab311f0a8af21fb63f78e7fbac29951a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab311f0a8af21fb63f78e7fbac29951a">&#9670;&nbsp;</a></span>connect() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *&#160;</td>
<td class="paramname"><em>device</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttibutes</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connect to an advertising device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>The device to connect to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">deleteAttibutes</td><td>If true this will delete any attribute objects this client may already<br />
have created and clears the vectors after successful connection. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success. </dd></dl>
</div>
</div>
<a id="a0f940c51807469db1f1802b742180beb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f940c51807469db1f1802b742180beb">&#9670;&nbsp;</a></span>deleteService()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t NimBLEClient::deleteService </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete service by UUID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>The UUID of the service to be deleted from the local database. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of services left. </dd></dl>
</div>
</div>
<a id="a5f77999664cc8a83f3cdb603ba4a5c8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f77999664cc8a83f3cdb603ba4a5c8c">&#9670;&nbsp;</a></span>disconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int NimBLEClient::disconnect </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reason</em> = <code>BLE_ERR_REM_USER_CONN_TERM</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disconnect from the peer. </p>
<dl class="section return"><dt>Returns</dt><dd>Error code from NimBLE stack, 0 = success. </dd></dl>
</div>
</div>
<a id="a0accd665926ea77d85ecb483b2b853fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0accd665926ea77d85ecb483b2b853fe">&#9670;&nbsp;</a></span>end()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator NimBLEClient::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get iterator to the end of the vector of remote service pointers. </p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the end of the vector of remote service pointers. </dd></dl>
</div>
</div>
<a id="a2fc46f43a71dd0df63a377961baf8009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fc46f43a71dd0df63a377961baf8009">&#9670;&nbsp;</a></span>getCharacteristic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * NimBLEClient::getCharacteristic </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the remote characteristic with the specified handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>The handle of the desired characteristic. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The matching remote characteristic, nullptr otherwise. </dd></dl>
</div>
</div>
<a id="aa09466a7050bf08bab2390da66007896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa09466a7050bf08bab2390da66007896">&#9670;&nbsp;</a></span>getConnId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t NimBLEClient::getConnId </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the connection id for this client. </p>
<dl class="section return"><dt>Returns</dt><dd>The connection id. </dd></dl>
</div>
</div>
<a id="a178d06bed13028e4ae0384923062d18d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a178d06bed13028e4ae0384923062d18d">&#9670;&nbsp;</a></span>getLastError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int NimBLEClient::getLastError </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the last error code reported by the NimBLE host. </p>
<dl class="section return"><dt>Returns</dt><dd>int, the NimBLE error code. </dd></dl>
</div>
</div>
<a id="ab971537eec4e53d621598eb1c760af3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab971537eec4e53d621598eb1c760af3a">&#9670;&nbsp;</a></span>getMTU()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t NimBLEClient::getMTU </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current mtu of this connection. </p>
<dl class="section return"><dt>Returns</dt><dd>The MTU value. </dd></dl>
</div>
</div>
<a id="ae216993cf4eeb5780a104a8b14044f78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae216993cf4eeb5780a104a8b14044f78">&#9670;&nbsp;</a></span>getRssi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int NimBLEClient::getRssi </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ask the BLE server for the RSSI value. </p>
<dl class="section return"><dt>Returns</dt><dd>The RSSI value. </dd></dl>
</div>
</div>
<a id="ae22379ab10bd82932d2303fb3753c366"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae22379ab10bd82932d2303fb3753c366">&#9670;&nbsp;</a></span>getService() <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_remote_service.html">NimBLERemoteService</a> * NimBLEClient::getService </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the service BLE Remote Service instance corresponding to the uuid. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>The UUID of the service being sought. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the service or nullptr if not found. </dd></dl>
</div>
</div>
<a id="ad8ba10522d79af1136019606802f0978"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8ba10522d79af1136019606802f0978">&#9670;&nbsp;</a></span>getService() <span class="overload">[2/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_remote_service.html">NimBLERemoteService</a> * NimBLEClient::getService </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the service object corresponding to the uuid. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>The UUID of the service being sought. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the service or nullptr if not found. </dd></dl>
</div>
</div>
<a id="acb9007569b3bb13b3b49f3c4cb47b21a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb9007569b3bb13b3b49f3c4cb47b21a">&#9670;&nbsp;</a></span>getServices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; * NimBLEClient::getServices </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>refresh</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a pointer to the vector of found services. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">refresh</td><td>If true the current services vector will be cleared and<br />
all services will be retrieved from the peripheral.<br />
If false the vector will be returned with the currently stored services. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the vector of available services. </dd></dl>
</div>
</div>
<a id="afd7b5c40f3c190a542f25b0b9e4afaf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd7b5c40f3c190a542f25b0b9e4afaf3">&#9670;&nbsp;</a></span>getValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string NimBLEClient::getValue </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>serviceUUID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>characteristicUUID</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value of a specific characteristic associated with a specific service. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">serviceUUID</td><td>The service that owns the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">characteristicUUID</td><td>The characteristic whose value we wish to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>characteristic value or an empty string if not found </dd></dl>
</div>
</div>
<a id="af1603da59b829f75b162ac4a65ce181c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1603da59b829f75b162ac4a65ce181c">&#9670;&nbsp;</a></span>isConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::isConnected </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Are we connected to a server? </p>
<dl class="section return"><dt>Returns</dt><dd>True if we are connected and false if we are not connected. </dd></dl>
</div>
</div>
<a id="a79935ecbe94f2a41e0106d011edafac4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79935ecbe94f2a41e0106d011edafac4">&#9670;&nbsp;</a></span>secureConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::secureConnection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate a secure connection (pair/bond) with the server.<br />
Called automatically when a characteristic or descriptor requires encryption or authentication to access it. </p>
<dl class="section return"><dt>Returns</dt><dd>True on success. </dd></dl>
</div>
</div>
<a id="aeede4deef7421b9121387a786c07820c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeede4deef7421b9121387a786c07820c">&#9670;&nbsp;</a></span>setClientCallbacks()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setClientCallbacks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a> *&#160;</td>
<td class="paramname"><em>pClientCallbacks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteCallbacks</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the callbacks that will be invoked when events are received. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pClientCallbacks</td><td>A pointer to a class to receive the event callbacks. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">deleteCallbacks</td><td>If true this will delete the callback class sent when the client is destructed. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a17718339f76eb621db0d7919c73b9267"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17718339f76eb621db0d7919c73b9267">&#9670;&nbsp;</a></span>setConnectionParams()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConnectionParams </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>minInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>latency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>scanInterval</em> = <code>16</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>scanWindow</em> = <code>16</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the connection paramaters to use when connecting to a server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">minInterval</td><td>The minimum connection interval in 1.25ms units. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxInterval</td><td>The maximum connection interval in 1.25ms units. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">latency</td><td>The number of packets allowed to skip (extends max interval). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>The timeout time in 10ms units before disconnecting. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">scanInterval</td><td>The scan interval to use when attempting to connect in 0.625ms units. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">scanWindow</td><td>The scan window to use when attempting to connect in 0.625ms units. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4068b29a9bd12e3110465908864dd20e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4068b29a9bd12e3110465908864dd20e">&#9670;&nbsp;</a></span>setConnectTimeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConnectTimeout </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>time</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the timeout to wait for connection attempt to complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The number of seconds before timeout. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a33a0114a126e0e58f7b4359c74f4ed41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33a0114a126e0e58f7b4359c74f4ed41">&#9670;&nbsp;</a></span>setDataLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setDataLen </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>tx_octets</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request an update of the data packet length. </p>
<ul>
<li><p class="startli">Can only be used after a connection has been established.</p>
<p class="startli">Sends a data length update request to the server the client is connected to. The Data Length Extension (DLE) allows to increase the Data Channel Payload from 27 bytes to up to 251 bytes. The server needs to support the Bluetooth 4.2 specifications, to be capable of DLE. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tx_octets</td><td>The preferred number of payload octets to use (Range 0x001B-0x00FB). </td></tr>
</table>
</dd>
</dl>
</li>
</ul>
</div>
</div>
<a id="a93b5b7c01e58a95dcea335f837d81d07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93b5b7c01e58a95dcea335f837d81d07">&#9670;&nbsp;</a></span>setPeerAddress()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setPeerAddress </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>Set the peer address. </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 peer that this client is connected or should connect to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0910bbe298a68e9122a169ab229bf767"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0910bbe298a68e9122a169ab229bf767">&#9670;&nbsp;</a></span>setValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::setValue </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>serviceUUID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>characteristicUUID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>response</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 value of a specific characteristic associated with a specific service. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">serviceUUID</td><td>The service that owns the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">characteristicUUID</td><td>The characteristic whose value we wish to write. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to write to the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">response</td><td>If true, uses write with response operation. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful otherwise false </dd></dl>
</div>
</div>
<a id="aba9ae035357776514b61c2b6286ce1ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba9ae035357776514b61c2b6286ce1ab">&#9670;&nbsp;</a></span>toString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string NimBLEClient::toString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a string representation of this client. </p>
<dl class="section return"><dt>Returns</dt><dd>A string representation of this client. </dd></dl>
</div>
</div>
<a id="aff7d389ec48567286ea732c54d320526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff7d389ec48567286ea732c54d320526">&#9670;&nbsp;</a></span>updateConnParams()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::updateConnParams </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>minInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>latency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the connection parameters: </p>
<ul>
<li>Can only be used after a connection has been established. <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">minInterval</td><td>The minimum connection interval in 1.25ms units. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxInterval</td><td>The maximum connection interval in 1.25ms units. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">latency</td><td>The number of packets allowed to skip (extends max interval). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>The timeout time in 10ms units before disconnecting. </td></tr>
</table>
</dd>
</dl>
</li>
</ul>
</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_client.html">NimBLEClient</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>