Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
48241ad08This file is pinned to the selected release. Download the original to open it in your design tool.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IoT-MBBR (masterthesis): firmware/EFM32HG222F64_iot-mbbr/VL53L1X_API/VL53L1X_api.c Source File</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>
<script type="text/javascript">
$(document).ready(initResizable);
</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">IoT-MBBR (masterthesis)
</div>
<div id="projectbrief">Masterthesis upgrading a Moving Bed BioReactor with extra sensors and cloud connectivity.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</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">
$(document).ready(function(){initNavTree('VL53L1X__api_8c_source.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">VL53L1X_api.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="VL53L1X__api_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> Copyright (c) 2017, STMicroelectronics - All Rights Reserved</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> This file : part of VL53L1 Core and : dual licensed,</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> either 'STMicroelectronics</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> Proprietary license'</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> or 'BSD 3-clause "New" or "Revised" License' , at your option.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"></span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"></span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> 'STMicroelectronics Proprietary license'</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"></span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"></span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> License terms: STMicroelectronics Proprietary in accordance with licensing</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> terms at www.st.com/sla0081</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"></span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> STMicroelectronics confidential</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> Reproduction and Communication of this document : strictly prohibited unless</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> specifically authorized in writing by STMicroelectronics.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Alternatively, VL53L1 Core may be distributed under the terms of</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> 'BSD 3-clause "New" or "Revised" License', in which case the following</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> provisions apply instead of the ones mentioned above :</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> License terms: BSD 3-clause "New" or "Revised" License.</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> modification, are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> 1. Redistributions of source code must retain the above copyright notice, this</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> 2. Redistributions in binary form must reproduce the above copyright notice,</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> this list of conditions and the following disclaimer in the documentation</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> 3. Neither the name of the copyright holder nor the names of its contributors</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> may be used to endorse or promote products derived from this software</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> without specific prior written permission.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">*/</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"></span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/**</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * @file vl53l1x_api.c</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * @brief Functions implementation</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include "<a class="code" href="VL53L1X__api_8h.html">VL53L1X_api.h</a>"</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <string.h></span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#if 0</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> VL51L1X_NVM_CONFIGURATION[] = {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 0x00, <span class="comment">/* 0x00 : not user-modifiable */</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 0x29, <span class="comment">/* 0x01 : 7 bits I2C address (default=0x29), use SetI2CAddress(). Warning: after changing the register value to a new I2C address, the device will only answer to the new address */</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 0x00, <span class="comment">/* 0x02 : not user-modifiable */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> 0x00, <span class="comment">/* 0x03 : not user-modifiable */</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 0x00, <span class="comment">/* 0x04 : not user-modifiable */</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 0x00, <span class="comment">/* 0x05 : not user-modifiable */</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 0x00, <span class="comment">/* 0x06 : not user-modifiable */</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 0x00, <span class="comment">/* 0x07 : not user-modifiable */</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 0x00, <span class="comment">/* 0x08 : not user-modifiable */</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 0x50, <span class="comment">/* 0x09 : not user-modifiable */</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 0x00, <span class="comment">/* 0x0A : not user-modifiable */</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 0x00, <span class="comment">/* 0x0B : not user-modifiable */</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 0x00, <span class="comment">/* 0x0C : not user-modifiable */</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 0x00, <span class="comment">/* 0x0D : not user-modifiable */</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 0x0a, <span class="comment">/* 0x0E : not user-modifiable */</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 0x00, <span class="comment">/* 0x0F : not user-modifiable */</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 0x00, <span class="comment">/* 0x10 : not user-modifiable */</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 0x00, <span class="comment">/* 0x11 : not user-modifiable */</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 0x00, <span class="comment">/* 0x12 : not user-modifiable */</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> 0x00, <span class="comment">/* 0x13 : not user-modifiable */</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 0x00, <span class="comment">/* 0x14 : not user-modifiable */</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 0x00, <span class="comment">/* 0x15 : not user-modifiable */</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> 0x00, <span class="comment">/* 0x16 : Xtalk calibration value MSB (7.9 format in kcps), use SetXtalk() */</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 0x00, <span class="comment">/* 0x17 : Xtalk calibration value LSB */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 0x00, <span class="comment">/* 0x18 : not user-modifiable */</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> 0x00, <span class="comment">/* 0x19 : not user-modifiable */</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> 0x00, <span class="comment">/* 0x1a : not user-modifiable */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> 0x00, <span class="comment">/* 0x1b : not user-modifiable */</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 0x00, <span class="comment">/* 0x1e : Part to Part offset x4 MSB (in mm), use SetOffset() */</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> 0x50, <span class="comment">/* 0x1f : Part to Part offset x4 LSB */</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> 0x00, <span class="comment">/* 0x20 : not user-modifiable */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> 0x00, <span class="comment">/* 0x21 : not user-modifiable */</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> 0x00, <span class="comment">/* 0x22 : not user-modifiable */</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> 0x00, <span class="comment">/* 0x23 : not user-modifiable */</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="VL53L1X__api_8c.html#a4cf7d117b7a683b7400ee6eaf975079e"> 107</a></span> <span class="keyword">const</span> <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="VL53L1X__api_8c.html#a4cf7d117b7a683b7400ee6eaf975079e">VL51L1X_DEFAULT_CONFIGURATION</a>[] = {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 0x00, <span class="comment">/* 0x2d : set bit 2 and 5 to 1 for fast plus mode (1MHz I2C), else don't touch */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 0x00, <span class="comment">/* 0x2e : bit 0 if I2C pulled up at 1.8V, else set bit 0 to 1 (pull up at AVDD) */</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 0x00, <span class="comment">/* 0x2f : bit 0 if GPIO pulled up at 1.8V, else set bit 0 to 1 (pull up at AVDD) */</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 0x01, <span class="comment">/* 0x30 : set bit 4 to 0 for active high interrupt and 1 for active low (bits 3:0 must be 0x1), use SetInterruptPolarity() */</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 0x02, <span class="comment">/* 0x31 : bit 1 = interrupt depending on the polarity, use CheckForDataReady() */</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 0x00, <span class="comment">/* 0x32 : not user-modifiable */</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 0x02, <span class="comment">/* 0x33 : not user-modifiable */</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 0x08, <span class="comment">/* 0x34 : not user-modifiable */</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> 0x00, <span class="comment">/* 0x35 : not user-modifiable */</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> 0x08, <span class="comment">/* 0x36 : not user-modifiable */</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> 0x10, <span class="comment">/* 0x37 : not user-modifiable */</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> 0x01, <span class="comment">/* 0x38 : not user-modifiable */</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 0x01, <span class="comment">/* 0x39 : not user-modifiable */</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 0x00, <span class="comment">/* 0x3a : not user-modifiable */</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 0x00, <span class="comment">/* 0x3b : not user-modifiable */</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 0x00, <span class="comment">/* 0x3c : not user-modifiable */</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 0x00, <span class="comment">/* 0x3d : not user-modifiable */</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> 0xff, <span class="comment">/* 0x3e : not user-modifiable */</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 0x00, <span class="comment">/* 0x3f : not user-modifiable */</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 0x0F, <span class="comment">/* 0x40 : not user-modifiable */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> 0x00, <span class="comment">/* 0x41 : not user-modifiable */</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 0x00, <span class="comment">/* 0x42 : not user-modifiable */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> 0x00, <span class="comment">/* 0x43 : not user-modifiable */</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 0x00, <span class="comment">/* 0x44 : not user-modifiable */</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 0x00, <span class="comment">/* 0x45 : not user-modifiable */</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 0x20, <span class="comment">/* 0x46 : interrupt configuration 0->level low detection, 1-> level high, 2-> Out of window, 3->In window, 0x20-> New sample ready , TBC */</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 0x0b, <span class="comment">/* 0x47 : not user-modifiable */</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 0x00, <span class="comment">/* 0x48 : not user-modifiable */</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> 0x00, <span class="comment">/* 0x49 : not user-modifiable */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 0x02, <span class="comment">/* 0x4a : not user-modifiable */</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 0x0a, <span class="comment">/* 0x4b : not user-modifiable */</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 0x21, <span class="comment">/* 0x4c : not user-modifiable */</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 0x00, <span class="comment">/* 0x4d : not user-modifiable */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 0x00, <span class="comment">/* 0x4e : not user-modifiable */</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 0x05, <span class="comment">/* 0x4f : not user-modifiable */</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 0x00, <span class="comment">/* 0x50 : not user-modifiable */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 0x00, <span class="comment">/* 0x51 : not user-modifiable */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 0x00, <span class="comment">/* 0x52 : not user-modifiable */</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 0x00, <span class="comment">/* 0x53 : not user-modifiable */</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 0xc8, <span class="comment">/* 0x54 : not user-modifiable */</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 0x00, <span class="comment">/* 0x55 : not user-modifiable */</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> 0x00, <span class="comment">/* 0x56 : not user-modifiable */</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 0x38, <span class="comment">/* 0x57 : not user-modifiable */</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 0xff, <span class="comment">/* 0x58 : not user-modifiable */</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 0x01, <span class="comment">/* 0x59 : not user-modifiable */</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 0x00, <span class="comment">/* 0x5a : not user-modifiable */</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> 0x08, <span class="comment">/* 0x5b : not user-modifiable */</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> 0x00, <span class="comment">/* 0x5c : not user-modifiable */</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> 0x00, <span class="comment">/* 0x5d : not user-modifiable */</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 0x01, <span class="comment">/* 0x5e : not user-modifiable */</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> 0xcc, <span class="comment">/* 0x5f : not user-modifiable */</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> 0x0f, <span class="comment">/* 0x60 : not user-modifiable */</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> 0x01, <span class="comment">/* 0x61 : not user-modifiable */</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> 0xf1, <span class="comment">/* 0x62 : not user-modifiable */</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> 0x0d, <span class="comment">/* 0x63 : not user-modifiable */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> 0x01, <span class="comment">/* 0x64 : Sigma threshold MSB (mm in 14.2 format for MSB+LSB), use SetSigmaThreshold(), default value 90 mm */</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> 0x68, <span class="comment">/* 0x65 : Sigma threshold LSB */</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> 0x00, <span class="comment">/* 0x66 : Min count Rate MSB (MCPS in 9.7 format for MSB+LSB), use SetSignalThreshold() */</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> 0x80, <span class="comment">/* 0x67 : Min count Rate LSB */</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> 0x08, <span class="comment">/* 0x68 : not user-modifiable */</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> 0xb8, <span class="comment">/* 0x69 : not user-modifiable */</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> 0x00, <span class="comment">/* 0x6a : not user-modifiable */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> 0x00, <span class="comment">/* 0x6b : not user-modifiable */</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> 0x00, <span class="comment">/* 0x6c : Intermeasurement period MSB, 32 bits register, use SetIntermeasurementInMs() */</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> 0x00, <span class="comment">/* 0x6d : Intermeasurement period */</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> 0x0f, <span class="comment">/* 0x6e : Intermeasurement period */</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> 0x89, <span class="comment">/* 0x6f : Intermeasurement period LSB */</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> 0x00, <span class="comment">/* 0x70 : not user-modifiable */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> 0x00, <span class="comment">/* 0x71 : not user-modifiable */</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 0x00, <span class="comment">/* 0x72 : distance threshold high MSB (in mm, MSB+LSB), use SetD:tanceThreshold() */</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> 0x00, <span class="comment">/* 0x73 : distance threshold high LSB */</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 0x00, <span class="comment">/* 0x74 : distance threshold low MSB ( in mm, MSB+LSB), use SetD:tanceThreshold() */</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> 0x00, <span class="comment">/* 0x75 : distance threshold low LSB */</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> 0x00, <span class="comment">/* 0x76 : not user-modifiable */</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 0x01, <span class="comment">/* 0x77 : not user-modifiable */</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 0x0f, <span class="comment">/* 0x78 : not user-modifiable */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> 0x0d, <span class="comment">/* 0x79 : not user-modifiable */</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 0x0e, <span class="comment">/* 0x7a : not user-modifiable */</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 0x0e, <span class="comment">/* 0x7b : not user-modifiable */</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 0x00, <span class="comment">/* 0x7c : not user-modifiable */</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 0x00, <span class="comment">/* 0x7d : not user-modifiable */</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 0x02, <span class="comment">/* 0x7e : not user-modifiable */</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 0xc7, <span class="comment">/* 0x7f : ROI center, use SetROI() */</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> 0xff, <span class="comment">/* 0x80 : XY ROI (X=Width, Y=Height), use SetROI() */</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 0x9B, <span class="comment">/* 0x81 : not user-modifiable */</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 0x00, <span class="comment">/* 0x82 : not user-modifiable */</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> 0x00, <span class="comment">/* 0x83 : not user-modifiable */</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> 0x00, <span class="comment">/* 0x84 : not user-modifiable */</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> 0x01, <span class="comment">/* 0x85 : not user-modifiable */</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 0x00, <span class="comment">/* 0x86 : clear interrupt, use ClearInterrupt() */</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 0x00 <span class="comment">/* 0x87 : start ranging, use StartRanging() or StopRanging(), If you want an automatic start after VL53L1X_init() call, put 0x40 in location 0x87 */</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> };</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="VL53L1X__api_8c.html#a9b2ac6a6b2be2e5c1264c0bc4e8ef01e"> 201</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="VL53L1X__api_8c.html#a9b2ac6a6b2be2e5c1264c0bc4e8ef01e">status_rtn</a>[24] = { 255, 255, 255, 5, 2, 4, 1, 7, 3, 0,</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  255, 255, 9, 13, 255, 255, 255, 255, 10, 6,</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  255, 255, 11, 12</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> };</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a936f75dcf79520d291fca86d1ca1a8ef"> 206</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a936f75dcf79520d291fca86d1ca1a8ef">VL53L1X_GetSWVersion</a>(<a class="code" href="structVL53L1X__Version__t.html">VL53L1X_Version_t</a> *pVersion)</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> Status = 0;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  pVersion-><a class="code" href="structVL53L1X__Version__t.html#a9c8962c09fa41401d393b28237062450">major</a> = <a class="code" href="VL53L1X__api_8h.html#a542371c8c3204d2a190bebed741a741e">VL53L1X_IMPLEMENTATION_VER_MAJOR</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  pVersion-><a class="code" href="structVL53L1X__Version__t.html#a6093fa9bbeaa6844ad571a842f4c0345">minor</a> = <a class="code" href="VL53L1X__api_8h.html#aeb992f2c9bfd1c73dcfae9ebc7180fad">VL53L1X_IMPLEMENTATION_VER_MINOR</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  pVersion-><a class="code" href="structVL53L1X__Version__t.html#a03c80c16cb2de79265289251f14a1643">build</a> = <a class="code" href="VL53L1X__api_8h.html#abccaf6e0c198fe271bde715a90f23b34">VL53L1X_IMPLEMENTATION_VER_SUB</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  pVersion-><a class="code" href="structVL53L1X__Version__t.html#a863c15a6ed6b8fca8cbd5b17c36e5f61">revision</a> = <a class="code" href="VL53L1X__api_8h.html#aede005dde2f068571499b6f56a2e191f">VL53L1X_IMPLEMENTATION_VER_REVISION</a>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> Status;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#aa51394a17fcffda8918a9e14cce9ad9e"> 217</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a48ca8aa97a87e716142addc75a6a7f48">VL53L1X_SetI2CAddress</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> new_address)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#af09585764ab1dde6627bad6098cd5e6e">VL53L1_I2C_SLAVE__DEVICE_ADDRESS</a>, new_address >> 1);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#af0bf25a9ea2d412a2314be795411bbfb"> 225</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#af0bf25a9ea2d412a2314be795411bbfb">VL53L1X_SensorInit</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Addr = 0x00, tmp;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">for</span> (Addr = 0x2D; Addr <= 0x87; Addr++){</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, Addr, <a class="code" href="VL53L1X__api_8c.html#a4cf7d117b7a683b7400ee6eaf975079e">VL51L1X_DEFAULT_CONFIGURATION</a>[Addr - 0x2D]);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  status = <a class="code" href="VL53L1X__api_8c.html#a59adb6ca7cf8cf1744dda9223e060d7a">VL53L1X_StartRanging</a>(dev);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  tmp = 0;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">while</span>(tmp==0){</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  status = <a class="code" href="VL53L1X__api_8c.html#a51f7cace95b9d5d8e1bd093ddb19a7dd">VL53L1X_CheckForDataReady</a>(dev, &tmp);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  status = <a class="code" href="VL53L1X__api_8c.html#ab4bae81bb4a10d4bba7ff1849d10cf5c">VL53L1X_ClearInterrupt</a>(dev);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  status = <a class="code" href="VL53L1X__api_8c.html#a39198465d18ebd1159a5378bf974ba85">VL53L1X_StopRanging</a>(dev);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a0b554c56b9617df6b957f26e407ce54d">VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND</a>, 0x09); <span class="comment">/* two bounds VHV */</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, 0x0B, 0); <span class="comment">/* start VHV from the previous temperature */</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ab4bae81bb4a10d4bba7ff1849d10cf5c"> 245</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ab4bae81bb4a10d4bba7ff1849d10cf5c">VL53L1X_ClearInterrupt</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a0151356cafc31665554f71d408c248a0">SYSTEM__INTERRUPT_CLEAR</a>, 0x01);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ae20f224bdf2a9e5cab862084b0fe0005"> 253</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#afe3df04d5945d022e73114ac5692fe05">VL53L1X_SetInterruptPolarity</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> NewPolarity)</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Temp;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ac2b6c32911c2c553477f19bb3c25ce89">GPIO_HV_MUX__CTRL</a>, &Temp);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  Temp = Temp & 0xEF;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ac2b6c32911c2c553477f19bb3c25ce89">GPIO_HV_MUX__CTRL</a>, Temp | (!(NewPolarity & 1)) << 4);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#abb5bbbc8841002c408d89e54f79b8f50"> 264</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a2c3ba71b2dccc7291e811c49cc805915">VL53L1X_GetInterruptPolarity</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *pInterruptPolarity)</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Temp;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ac2b6c32911c2c553477f19bb3c25ce89">GPIO_HV_MUX__CTRL</a>, &Temp);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  Temp = Temp & 0x10;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  *pInterruptPolarity = !(Temp>>4);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a59adb6ca7cf8cf1744dda9223e060d7a"> 275</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a59adb6ca7cf8cf1744dda9223e060d7a">VL53L1X_StartRanging</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#aa430923f7d8ebfb9281163d17df1cc1e">SYSTEM__MODE_START</a>, 0x40); <span class="comment">/* Enable VL53L1X */</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a39198465d18ebd1159a5378bf974ba85"> 283</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a39198465d18ebd1159a5378bf974ba85">VL53L1X_StopRanging</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#aa430923f7d8ebfb9281163d17df1cc1e">SYSTEM__MODE_START</a>, 0x00); <span class="comment">/* Disable VL53L1X */</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a51f7cace95b9d5d8e1bd093ddb19a7dd"> 291</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a51f7cace95b9d5d8e1bd093ddb19a7dd">VL53L1X_CheckForDataReady</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *isDataReady)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Temp;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> IntPol;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  status = <a class="code" href="VL53L1X__api_8c.html#a2c3ba71b2dccc7291e811c49cc805915">VL53L1X_GetInterruptPolarity</a>(dev, &IntPol);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a2806961b4373aaf95b11489324e8f84b">GPIO__TIO_HV_STATUS</a>, &Temp);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="comment">/* Read in the register to check if a new value is available */</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">if</span> (status == 0){</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> ((Temp & 1) == IntPol)</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  *isDataReady = 1;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  *isDataReady = 0;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ac64d76b7addc2d0f1144b3e903e90c35"> 309</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ac64d76b7addc2d0f1144b3e903e90c35">VL53L1X_SetTimingBudgetInMs</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> TimingBudgetInMs)</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> DM;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status=0;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  status = <a class="code" href="VL53L1X__api_8c.html#a3b34ed68f67fe7808ce5efe9cf97c97f">VL53L1X_GetDistanceMode</a>(dev, &DM);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">if</span> (DM == 0)</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DM == 1) { <span class="comment">/* Short DistanceMode */</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">switch</span> (TimingBudgetInMs) {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">case</span> 15: <span class="comment">/* only available in short distance mode */</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  0x01D);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  0x0027);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> 20:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  0x0051);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  0x006E);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> 33:</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  0x00D6);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  0x006E);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">case</span> 50:</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  0x1AE);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  0x01E8);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> 100:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  0x02E1);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  0x0388);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> 200:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  0x03E1);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  0x0496);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> 500:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  0x0591);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  0x05C1);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  status = 1;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  }</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">switch</span> (TimingBudgetInMs) {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">case</span> 20:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  0x001E);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  0x0022);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">case</span> 33:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  0x0060);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  0x006E);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> 50:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  0x00AD);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  0x00C6);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> 100:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  0x01CC);</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  0x01EA);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">case</span> 200:</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  0x02D9);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  0x02F8);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">case</span> 500:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>,</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  0x048F);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a>,</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  0x04A4);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  status = 1;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  }</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ad8b0bde5821b2db422c9c04741d420ba"> 411</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a56383a3d286ad260d205d2d255590d9c">VL53L1X_GetTimingBudgetInMs</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *pTimingBudget)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> Temp;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a>, &Temp);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">switch</span> (Temp) {</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">case</span> 0x001D :</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  *pTimingBudget = 15;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">case</span> 0x0051 :</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">case</span> 0x001E :</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  *pTimingBudget = 20;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">case</span> 0x00D6 :</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">case</span> 0x0060 :</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  *pTimingBudget = 33;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keywordflow">case</span> 0x1AE :</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">case</span> 0x00AD :</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  *pTimingBudget = 50;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">case</span> 0x02E1 :</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">case</span> 0x01CC :</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  *pTimingBudget = 100;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">case</span> 0x03E1 :</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">case</span> 0x02D9 :</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  *pTimingBudget = 200;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">case</span> 0x0591 :</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">case</span> 0x048F :</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  *pTimingBudget = 500;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  status = 1;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  *pTimingBudget = 0;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> }</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#acb5e44d02a44e0d878c306f32dd89bb2"> 452</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a78246c0b55f5f7699339876405331dd8">VL53L1X_SetDistanceMode</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> DM)</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> TB;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  status = <a class="code" href="VL53L1X__api_8c.html#a56383a3d286ad260d205d2d255590d9c">VL53L1X_GetTimingBudgetInMs</a>(dev, &TB);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">if</span> (status != 0)</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">switch</span> (DM) {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ab27d045e59238e549647e80fae3573f8">PHASECAL_CONFIG__TIMEOUT_MACROP</a>, 0x14);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a18bc9ac87e860bbc9106f09d8f35491e">RANGE_CONFIG__VCSEL_PERIOD_A</a>, 0x07);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ab18472732f386d61b67e5fa6e35a57e9">RANGE_CONFIG__VCSEL_PERIOD_B</a>, 0x05);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ad7f3c335c97795f0220d04a8feadc3ca">RANGE_CONFIG__VALID_PHASE_HIGH</a>, 0x38);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a6a16e9c2ee589cd21957f1302d6654f1">SD_CONFIG__WOI_SD0</a>, 0x0705);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#aea5e68cc5ce6336be7979caf62305db2">SD_CONFIG__INITIAL_PHASE_SD0</a>, 0x0606);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ab27d045e59238e549647e80fae3573f8">PHASECAL_CONFIG__TIMEOUT_MACROP</a>, 0x0A);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a18bc9ac87e860bbc9106f09d8f35491e">RANGE_CONFIG__VCSEL_PERIOD_A</a>, 0x0F);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ab18472732f386d61b67e5fa6e35a57e9">RANGE_CONFIG__VCSEL_PERIOD_B</a>, 0x0D);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#ad7f3c335c97795f0220d04a8feadc3ca">RANGE_CONFIG__VALID_PHASE_HIGH</a>, 0xB8);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a6a16e9c2ee589cd21957f1302d6654f1">SD_CONFIG__WOI_SD0</a>, 0x0F0D);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#aea5e68cc5ce6336be7979caf62305db2">SD_CONFIG__INITIAL_PHASE_SD0</a>, 0x0E0E);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  status = 1;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  }</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">if</span> (status == 0)</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  status = <a class="code" href="VL53L1X__api_8c.html#ac64d76b7addc2d0f1144b3e903e90c35">VL53L1X_SetTimingBudgetInMs</a>(dev, TB);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div><div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a8785a4399732fe2b438e1ff83d431e05"> 487</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a3b34ed68f67fe7808ce5efe9cf97c97f">VL53L1X_GetDistanceMode</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *DM)</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> TempDM, status=0;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev,<a class="code" href="VL53L1X__api_8h.html#ab27d045e59238e549647e80fae3573f8">PHASECAL_CONFIG__TIMEOUT_MACROP</a>, &TempDM);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">if</span> (TempDM == 0x14)</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  *DM=1;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">if</span>(TempDM == 0x0A)</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  *DM=2;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#aafd7028e9b18f32dcc6f80477e3c9556"> 499</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a59a3061409df959f69ff1053a4f0fc0e">VL53L1X_SetInterMeasurementInMs</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> InterMeasMs)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> ClockPLL;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a80678a1ebe27c577e592c271e92194fe">VL53L1_RESULT__OSC_CALIBRATE_VAL</a>, &ClockPLL);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  ClockPLL = ClockPLL&0x3FF;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="vl53l1__platform_8c.html#a2631e24821bb8d6ae0ef58fc060888e6">VL53L1_WrDWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#afaf7ce8aa0b5888276751194bcf5f931">VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD</a>,</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  (<a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>)(ClockPLL * InterMeasMs * 1.075));</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div><div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a8ea2aeadbf3f07b4f147a201cdc5b14a"> 512</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a8ea2aeadbf3f07b4f147a201cdc5b14a">VL53L1X_GetInterMeasurementInMs</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *pIM)</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> ClockPLL;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> tmp;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  status = <a class="code" href="vl53l1__platform_8c.html#a0b929c31f10a29ac021b48b976e05a00">VL53L1_RdDWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#afaf7ce8aa0b5888276751194bcf5f931">VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD</a>, &tmp);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  *pIM = (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)tmp;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a80678a1ebe27c577e592c271e92194fe">VL53L1_RESULT__OSC_CALIBRATE_VAL</a>, &ClockPLL);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  ClockPLL = ClockPLL&0x3FF;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  *pIM= (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)(*pIM/(ClockPLL*1.065));</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div><div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ab92b2593ea9db5c1b39fcaaff474ee16"> 526</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ab92b2593ea9db5c1b39fcaaff474ee16">VL53L1X_BootState</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *state)</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tmp = 0;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a095d61baf5e40ecde589a5dbf17b391a">VL53L1_FIRMWARE__SYSTEM_STATUS</a>, &tmp);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  *state = tmp;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span> }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div><div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a2f85db4303998bd09d9732701559b7bb"> 536</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a8a039cb7f3e3f9e2aea7eeb8f4224ed5">VL53L1X_GetSensorId</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *sensorId)</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a6a27dfef0795b6688aacd6cd158939be">VL53L1_IDENTIFICATION__MODEL_ID</a>, &tmp);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  *sensorId = tmp;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div><div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a06745c308363ee18e041ea8fa3c24eb5"> 546</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a06745c308363ee18e041ea8fa3c24eb5">VL53L1X_GetDistance</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *distance)</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  status = (<a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="VL53L1X__api_8h.html#a7ac26737f5a5eb4915af98c2be6fb7c2">VL53L1_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0</a>, &tmp));</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  *distance = tmp;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00557"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a61d1ed3aa852150c583c2f24ed4f822b"> 557</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a35c2b9fdd23437e274889ef5821a80d4">VL53L1X_GetSignalPerSpad</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *signalRate)</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> SpNb=1, signal;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <a class="code" href="VL53L1X__api_8h.html#aa80215477cc3130e21769999b9a2cfd4">VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0</a>, &signal);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <a class="code" href="VL53L1X__api_8h.html#afa93dea9a0d4065a9c4e246ee26daef0">VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0</a>, &SpNb);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  *signalRate = (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>) (2000.0*signal/SpNb);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div><div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a04aa56326334ed04b8c74f76e39cdcb2"> 570</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a56d27774e1a160791c3a70752f58f487">VL53L1X_GetAmbientPerSpad</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *ambPerSp)</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> AmbientRate, SpNb = 1;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a8fec1c1688c009c83fd1729042522710">RESULT__AMBIENT_COUNT_RATE_MCPS_SD</a>, &AmbientRate);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#afa93dea9a0d4065a9c4e246ee26daef0">VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0</a>, &SpNb);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  *ambPerSp=(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>) (2000.0 * AmbientRate / SpNb);</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span> }</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div><div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ae5dadde07f182a952a7c864037e5e345"> 581</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ae0b24e3b0ba77c5de787018eb42e2336">VL53L1X_GetSignalRate</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *signal)</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <a class="code" href="VL53L1X__api_8h.html#aa80215477cc3130e21769999b9a2cfd4">VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0</a>, &tmp);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  *signal = tmp*8;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div><div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a3a31d70330fb9cfc607eb53e9ccf0aba"> 592</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a3a31d70330fb9cfc607eb53e9ccf0aba">VL53L1X_GetSpadNb</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *spNb)</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span> {</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <a class="code" href="VL53L1X__api_8h.html#afa93dea9a0d4065a9c4e246ee26daef0">VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0</a>, &tmp);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  *spNb = tmp >> 8;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div><div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#aeca17868ef2662357e6daf2c41fc5e27"> 603</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#aeca17868ef2662357e6daf2c41fc5e27">VL53L1X_GetAmbientRate</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *ambRate)</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a8fec1c1688c009c83fd1729042522710">RESULT__AMBIENT_COUNT_RATE_MCPS_SD</a>, &tmp);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  *ambRate = tmp*8;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div><div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a4841930f2a37b1d6fbb962f7511ba06c"> 613</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a4841930f2a37b1d6fbb962f7511ba06c">VL53L1X_GetRangeStatus</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *rangeStatus)</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> RgSt;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  *rangeStatus = 255;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a795c007a11b10559317dc29d6dd5b43e">VL53L1_RESULT__RANGE_STATUS</a>, &RgSt);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  RgSt = RgSt & 0x1F;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">if</span> (RgSt < 24)</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  *rangeStatus = <a class="code" href="VL53L1X__api_8c.html#a9b2ac6a6b2be2e5c1264c0bc4e8ef01e">status_rtn</a>[RgSt];</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> }</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div><div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a527349738cae7da4384574cbbf1a3ecf"> 626</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a527349738cae7da4384574cbbf1a3ecf">VL53L1X_GetResult</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="structVL53L1X__Result__t.html">VL53L1X_Result_t</a> *pResult)</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> {</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Temp[17];</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> RgSt = 255;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  status = <a class="code" href="vl53l1__platform_8c.html#a5005e5666c0dcfe32fa0ad97f6392e31">VL53L1_ReadMulti</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a795c007a11b10559317dc29d6dd5b43e">VL53L1_RESULT__RANGE_STATUS</a>, Temp, 17);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  RgSt = Temp[0] & 0x1F;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordflow">if</span> (RgSt < 24)</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  RgSt = <a class="code" href="VL53L1X__api_8c.html#a9b2ac6a6b2be2e5c1264c0bc4e8ef01e">status_rtn</a>[RgSt];</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  pResult-><a class="code" href="structVL53L1X__Result__t.html#ab728a6f4521ca376d9dbe0710158b2b5">Status</a> = RgSt;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  pResult-><a class="code" href="structVL53L1X__Result__t.html#a25f7a69860763da776f6e4e678f00d8d">Ambient</a> = (Temp[7] << 8 | Temp[8]) * 8;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  pResult-><a class="code" href="structVL53L1X__Result__t.html#a549c2710b0f17a249a84ecee103daf93">NumSPADs</a> = Temp[3];</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  pResult-><a class="code" href="structVL53L1X__Result__t.html#a16cf31b3d24f20e85321bcfef7ecb5b7">SigPerSPAD</a> = (Temp[15] << 8 | Temp[16]) * 8;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  pResult-><a class="code" href="structVL53L1X__Result__t.html#a23ecdffefa85822a03fdad882408165d">Distance</a> = Temp[13] << 8 | Temp[14];</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div><div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a511e76c692a3f6d2a64fa30b674eaa6b"> 645</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a511e76c692a3f6d2a64fa30b674eaa6b">VL53L1X_SetOffset</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a> OffsetValue)</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <a class="code" href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a> Temp;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  Temp = (OffsetValue*4);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a2ab0e4617017e0bd940200ba07be4d34">ALGO__PART_TO_PART_RANGE_OFFSET_MM</a>,</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)Temp);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a88617357dbed400268cfc2ee563f5396">MM_CONFIG__INNER_OFFSET_MM</a>, 0x0);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a3f7f279509c4971c0027dd4004007c2f">MM_CONFIG__OUTER_OFFSET_MM</a>, 0x0);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div><div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a0f1c1da2494ddf9e68d909cc15b725b4"> 658</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a62986bc783e16e04a23f5a73fc99a695">VL53L1X_GetOffset</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a> *<a class="code" href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd">offset</a>)</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span> {</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> Temp;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a2ab0e4617017e0bd940200ba07be4d34">ALGO__PART_TO_PART_RANGE_OFFSET_MM</a>, &Temp);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  Temp = Temp<<3;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  Temp = Temp>>5;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  *offset = (<a class="code" href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a>)(Temp);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div><div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a8206a5ce1126b00d1d96dd6373ba6171"> 670</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a8206a5ce1126b00d1d96dd6373ba6171">VL53L1X_SetXtalk</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> XtalkValue)</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment">/* XTalkValue in count per second to avoid float type */</span></div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev,</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <a class="code" href="VL53L1X__api_8h.html#af25151d720c6f6d003e61d92ad738c4c">ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS</a>,</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  0x0000);</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a25a78b1dc1070a5e72e19645f8f52d33">ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS</a>,</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  0x0000);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a55aa3ef1d347f822cc5f6028f2ddf56f">ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS</a>,</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  (XtalkValue<<9)/1000); <span class="comment">/* * << 9 (7.9 format) and /1000 to convert cps to kpcs */</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div><div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a2f9abff4c02b7c00c27980a9563b5983"> 685</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ae1cad325940bd21b0c8fe29e84dfef08">VL53L1X_GetXtalk</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *<a class="code" href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85">xtalk</a> )</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span> {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> tmp;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  status = <a class="code" href="vl53l1__platform_8c.html#a0b929c31f10a29ac021b48b976e05a00">VL53L1_RdDWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a55aa3ef1d347f822cc5f6028f2ddf56f">ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS</a>, &tmp);</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  *xtalk = (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)(tmp*1000)>>9; <span class="comment">/* * 1000 to convert kcps to cps and >> 9 (7.9 format) */</span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div><div class="line"><a name="l00695"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a93effb186a00a1c05b82829d4e8a2e6e"> 695</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a93effb186a00a1c05b82829d4e8a2e6e">VL53L1X_SetDistanceThreshold</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> ThreshLow,</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> ThreshHigh, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Window,</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> IntOnNoTarget)</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span> {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> Temp = 0;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a97207a2ee20535cd0102a4bb05779127">SYSTEM__INTERRUPT_CONFIG_GPIO</a>, &Temp);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  Temp = Temp & 0x47;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">if</span> (IntOnNoTarget == 0) {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a97207a2ee20535cd0102a4bb05779127">SYSTEM__INTERRUPT_CONFIG_GPIO</a>,</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  (Temp | (Window & 0x07)));</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a97207a2ee20535cd0102a4bb05779127">SYSTEM__INTERRUPT_CONFIG_GPIO</a>,</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  ((Temp | (Window & 0x07)) | 0x40));</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  }</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#aa430f8d2f8ee1a40476f5202f16807ae">SYSTEM__THRESH_HIGH</a>, ThreshHigh);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a9ff4642b47201d4d821fecc72ff8513c">SYSTEM__THRESH_LOW</a>, ThreshLow);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div><div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ac10c1d2f6d7357ec86bcb0574c8885cd"> 716</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ac10c1d2f6d7357ec86bcb0574c8885cd">VL53L1X_GetDistanceThresholdWindow</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *window)</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span> {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tmp;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a97207a2ee20535cd0102a4bb05779127">SYSTEM__INTERRUPT_CONFIG_GPIO</a>, &tmp);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  *window = (<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)(tmp & 0x7);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a9cc838791d06a457f4ba318286d7192d"> 725</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a9cc838791d06a457f4ba318286d7192d">VL53L1X_GetDistanceThresholdLow</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *low)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span> {</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a9ff4642b47201d4d821fecc72ff8513c">SYSTEM__THRESH_LOW</a>, &tmp);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  *low = tmp;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div><div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#acc4c76b0f8ca23a0846a8acf5d18376d"> 735</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#acc4c76b0f8ca23a0846a8acf5d18376d">VL53L1X_GetDistanceThresholdHigh</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *high)</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> {</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#aa430f8d2f8ee1a40476f5202f16807ae">SYSTEM__THRESH_HIGH</a>, &tmp);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  *high = tmp;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> }</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div><div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a17e282e05c4929f630590d556a412b81"> 745</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a17e282e05c4929f630590d556a412b81">VL53L1X_SetROICenter</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> ROICenter)</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span> {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a706cd1aa011becfc35c7b496f599a30f">ROI_CONFIG__USER_ROI_CENTRE_SPAD</a>, ROICenter);</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div><div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a910b60acd6238719079fcfedd49b513e"> 752</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a910b60acd6238719079fcfedd49b513e">VL53L1X_GetROICenter</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *ROICenter)</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tmp;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a706cd1aa011becfc35c7b496f599a30f">ROI_CONFIG__USER_ROI_CENTRE_SPAD</a>, &tmp);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  *ROICenter = tmp;</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span> }</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div><div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ab8103f06b26a3748336375e1c6381ab6"> 761</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ab8103f06b26a3748336375e1c6381ab6">VL53L1X_SetROI</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> X, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> Y)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span> {</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> OpticalCenter;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  status =<a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#af64a6267f55a636775a99c6c32b098b7">VL53L1_ROI_CONFIG__MODE_ROI_CENTRE_SPAD</a>, &OpticalCenter);</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">if</span> (X > 16)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  X = 16;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordflow">if</span> (Y > 16)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  Y = 16;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> (X > 10 || Y > 10){</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  OpticalCenter = 199;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  }</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a706cd1aa011becfc35c7b496f599a30f">ROI_CONFIG__USER_ROI_CENTRE_SPAD</a>, OpticalCenter);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a279ad59723f100caf9bf056bbde528fa">ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE</a>,</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  (Y - 1) << 4 | (X - 1));</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div><div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a5907eab052463c151a31e7223698f680"> 780</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a5907eab052463c151a31e7223698f680">VL53L1X_GetROI_XY</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *ROI_X, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *ROI_Y)</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span> {</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tmp;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  status = <a class="code" href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a279ad59723f100caf9bf056bbde528fa">ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE</a>, &tmp);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  *ROI_X = ((<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)tmp & 0x0F) + 1;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  *ROI_Y = (((<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a>)tmp & 0xF0) >> 4) + 1;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> }</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div><div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#af3d8367a6cdfd21d98685c3b6df2b8cf"> 791</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a55073b9227c0c01f62df93ee8dfff282">VL53L1X_SetSignalThreshold</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> Signal)</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#aad0f40d4cfe841c8ea1df480bda90151">RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS</a>,Signal>>3);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div><div class="line"><a name="l00799"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a70eee98d23fb77355574e3b14ff6c731"> 799</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#a70eee98d23fb77355574e3b14ff6c731">VL53L1X_GetSignalThreshold</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *signal)</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span> {</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="VL53L1X__api_8h.html#aad0f40d4cfe841c8ea1df480bda90151">RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS</a>, &tmp);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  *signal = tmp <<3;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> }</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div><div class="line"><a name="l00810"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a3698367048ae3bb29b772b8969fd8043"> 810</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ad064bb1fc37476aeca684de9e73c56e3">VL53L1X_SetSigmaThreshold</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> Sigma)</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span> {</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">if</span>(Sigma>(0xFFFF>>2)){</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  }</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="comment">/* 16 bits register 14.2 format */</span></div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  status = <a class="code" href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#ab72c85000f194caedd5a9137e962fde4">RANGE_CONFIG__SIGMA_THRESH</a>,Sigma<<2);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> }</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div><div class="line"><a name="l00822"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#a237827b94dec1ddb9f18ac78fee702b2"> 822</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#af43abccee5fde69701386bb992a7dee5">VL53L1X_GetSigmaThreshold</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev, <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> *sigma)</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span> {</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> tmp;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  status = <a class="code" href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a>(dev,<a class="code" href="VL53L1X__api_8h.html#ab72c85000f194caedd5a9137e962fde4">RANGE_CONFIG__SIGMA_THRESH</a>, &tmp);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  *sigma = tmp >> 2;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span> }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div><div class="line"><a name="l00833"></a><span class="lineno"><a class="line" href="VL53L1X__api_8h.html#ae51c4079082446707d3fdffb8da65e7b"> 833</a></span> <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> <a class="code" href="VL53L1X__api_8c.html#ae51c4079082446707d3fdffb8da65e7b">VL53L1X_StartTemperatureUpdate</a>(<a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> dev)</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span> {</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <a class="code" href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a> status = 0;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tmp=0;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev,<a class="code" href="VL53L1X__api_8h.html#a0b554c56b9617df6b957f26e407ce54d">VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND</a>,0x81); <span class="comment">/* full VHV */</span></div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev,0x0B,0x92);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  status = <a class="code" href="VL53L1X__api_8c.html#a59adb6ca7cf8cf1744dda9223e060d7a">VL53L1X_StartRanging</a>(dev);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">while</span>(tmp==0){</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  status = <a class="code" href="VL53L1X__api_8c.html#a51f7cace95b9d5d8e1bd093ddb19a7dd">VL53L1X_CheckForDataReady</a>(dev, &tmp);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  }</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  tmp = 0;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  status = <a class="code" href="VL53L1X__api_8c.html#ab4bae81bb4a10d4bba7ff1849d10cf5c">VL53L1X_ClearInterrupt</a>(dev);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  status = <a class="code" href="VL53L1X__api_8c.html#a39198465d18ebd1159a5378bf974ba85">VL53L1X_StopRanging</a>(dev);</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, <a class="code" href="VL53L1X__api_8h.html#a0b554c56b9617df6b957f26e407ce54d">VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND</a>, 0x09); <span class="comment">/* two bounds VHV */</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  status = <a class="code" href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a>(dev, 0x0B, 0); <span class="comment">/* start VHV from the previous temperature */</span></div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span> }</div><div class="ttc" id="vl53l1__platform_8c_html_a79dafd64b8435d306696839614382ef1"><div class="ttname"><a href="vl53l1__platform_8c.html#a79dafd64b8435d306696839614382ef1">VL53L1_WrWord</a></div><div class="ttdeci">int8_t VL53L1_WrWord(uint16_t dev, uint16_t index, uint16_t data)</div><div class="ttdoc">Write a word (16 bits) to the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00229">vl53l1_platform.c:229</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aa2cba6efa144107fcf97e81be52802fc"><div class="ttname"><a href="VL53L1X__api_8h.html#aa2cba6efa144107fcf97e81be52802fc">VL53L1X_ERROR</a></div><div class="ttdeci">int8_t VL53L1X_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00078">VL53L1X_api.h:78</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a095d61baf5e40ecde589a5dbf17b391a"><div class="ttname"><a href="VL53L1X__api_8h.html#a095d61baf5e40ecde589a5dbf17b391a">VL53L1_FIRMWARE__SYSTEM_STATUS</a></div><div class="ttdeci">#define VL53L1_FIRMWARE__SYSTEM_STATUS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00118">VL53L1X_api.h:118</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_acc4c76b0f8ca23a0846a8acf5d18376d"><div class="ttname"><a href="VL53L1X__api_8c.html#acc4c76b0f8ca23a0846a8acf5d18376d">VL53L1X_GetDistanceThresholdHigh</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetDistanceThresholdHigh(uint16_t dev, uint16_t *high)</div><div class="ttdoc">This function returns the high threshold in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00735">VL53L1X_api.c:735</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a936f75dcf79520d291fca86d1ca1a8ef"><div class="ttname"><a href="VL53L1X__api_8c.html#a936f75dcf79520d291fca86d1ca1a8ef">VL53L1X_GetSWVersion</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSWVersion(VL53L1X_Version_t *pVersion)</div><div class="ttdoc">This function returns the SW driver version. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00206">VL53L1X_api.c:206</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a39198465d18ebd1159a5378bf974ba85"><div class="ttname"><a href="VL53L1X__api_8c.html#a39198465d18ebd1159a5378bf974ba85">VL53L1X_StopRanging</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_StopRanging(uint16_t dev)</div><div class="ttdoc">This function stops the ranging. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00283">VL53L1X_api.c:283</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aa430f8d2f8ee1a40476f5202f16807ae"><div class="ttname"><a href="VL53L1X__api_8h.html#aa430f8d2f8ee1a40476f5202f16807ae">SYSTEM__THRESH_HIGH</a></div><div class="ttdeci">#define SYSTEM__THRESH_HIGH</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00102">VL53L1X_api.h:102</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_afe3df04d5945d022e73114ac5692fe05"><div class="ttname"><a href="VL53L1X__api_8c.html#afe3df04d5945d022e73114ac5692fe05">VL53L1X_SetInterruptPolarity</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetInterruptPolarity(uint16_t dev, uint8_t NewPolarity)</div><div class="ttdoc">This function programs the interrupt polarity 1=active high (default), 0=active low. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00253">VL53L1X_api.c:253</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a795c007a11b10559317dc29d6dd5b43e"><div class="ttname"><a href="VL53L1X__api_8h.html#a795c007a11b10559317dc29d6dd5b43e">VL53L1_RESULT__RANGE_STATUS</a></div><div class="ttdeci">#define VL53L1_RESULT__RANGE_STATUS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00112">VL53L1X_api.h:112</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a80678a1ebe27c577e592c271e92194fe"><div class="ttname"><a href="VL53L1X__api_8h.html#a80678a1ebe27c577e592c271e92194fe">VL53L1_RESULT__OSC_CALIBRATE_VAL</a></div><div class="ttdeci">#define VL53L1_RESULT__OSC_CALIBRATE_VAL</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00117">VL53L1X_api.h:117</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a279ad59723f100caf9bf056bbde528fa"><div class="ttname"><a href="VL53L1X__api_8h.html#a279ad59723f100caf9bf056bbde528fa">ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE</a></div><div class="ttdeci">#define ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00107">VL53L1X_api.h:107</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aede005dde2f068571499b6f56a2e191f"><div class="ttname"><a href="VL53L1X__api_8h.html#aede005dde2f068571499b6f56a2e191f">VL53L1X_IMPLEMENTATION_VER_REVISION</a></div><div class="ttdeci">#define VL53L1X_IMPLEMENTATION_VER_REVISION</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00076">VL53L1X_api.h:76</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_afa93dea9a0d4065a9c4e246ee26daef0"><div class="ttname"><a href="VL53L1X__api_8h.html#afa93dea9a0d4065a9c4e246ee26daef0">VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0</a></div><div class="ttdeci">#define VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00113">VL53L1X_api.h:113</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a56d27774e1a160791c3a70752f58f487"><div class="ttname"><a href="VL53L1X__api_8c.html#a56d27774e1a160791c3a70752f58f487">VL53L1X_GetAmbientPerSpad</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetAmbientPerSpad(uint16_t dev, uint16_t *ambPerSp)</div><div class="ttdoc">This function returns the ambient per SPAD in kcps/SPAD. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00570">VL53L1X_api.c:570</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a59adb6ca7cf8cf1744dda9223e060d7a"><div class="ttname"><a href="VL53L1X__api_8c.html#a59adb6ca7cf8cf1744dda9223e060d7a">VL53L1X_StartRanging</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_StartRanging(uint16_t dev)</div><div class="ttdoc">This function starts the ranging distance operation The ranging operation is continuous. The clear interrupt has to be done after each get data to allow the interrupt to raise when the next data is ready 1=active high (default), 0=active low, use SetInterruptPolarity() to change the interrupt polarity if required. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00275">VL53L1X_api.c:275</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ab8103f06b26a3748336375e1c6381ab6"><div class="ttname"><a href="VL53L1X__api_8c.html#ab8103f06b26a3748336375e1c6381ab6">VL53L1X_SetROI</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetROI(uint16_t dev, uint16_t X, uint16_t Y)</div><div class="ttdoc">This function programs the ROI (Region of Interest) The ROI position is centered, only the ROI size c...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00761">VL53L1X_api.c:761</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_a2631e24821bb8d6ae0ef58fc060888e6"><div class="ttname"><a href="vl53l1__platform_8c.html#a2631e24821bb8d6ae0ef58fc060888e6">VL53L1_WrDWord</a></div><div class="ttdeci">int8_t VL53L1_WrDWord(uint16_t dev, uint16_t index, uint32_t data)</div><div class="ttdoc">Write a double word (32 bits) to the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00285">vl53l1_platform.c:285</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a2c3ba71b2dccc7291e811c49cc805915"><div class="ttname"><a href="VL53L1X__api_8c.html#a2c3ba71b2dccc7291e811c49cc805915">VL53L1X_GetInterruptPolarity</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetInterruptPolarity(uint16_t dev, uint8_t *pInterruptPolarity)</div><div class="ttdoc">This function returns the current interrupt polarity 1=active high (default), 0=active low...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00264">VL53L1X_api.c:264</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a9cc838791d06a457f4ba318286d7192d"><div class="ttname"><a href="VL53L1X__api_8c.html#a9cc838791d06a457f4ba318286d7192d">VL53L1X_GetDistanceThresholdLow</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetDistanceThresholdLow(uint16_t dev, uint16_t *low)</div><div class="ttdoc">This function returns the low threshold in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00725">VL53L1X_api.c:725</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_af43abccee5fde69701386bb992a7dee5"><div class="ttname"><a href="VL53L1X__api_8c.html#af43abccee5fde69701386bb992a7dee5">VL53L1X_GetSigmaThreshold</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSigmaThreshold(uint16_t dev, uint16_t *sigma)</div><div class="ttdoc">This function returns the current sigma threshold in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00822">VL53L1X_api.c:822</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a8ea2aeadbf3f07b4f147a201cdc5b14a"><div class="ttname"><a href="VL53L1X__api_8c.html#a8ea2aeadbf3f07b4f147a201cdc5b14a">VL53L1X_GetInterMeasurementInMs</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetInterMeasurementInMs(uint16_t dev, uint16_t *pIM)</div><div class="ttdoc">This function returns the Intermeasurement period in ms. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00512">VL53L1X_api.c:512</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ab18472732f386d61b67e5fa6e35a57e9"><div class="ttname"><a href="VL53L1X__api_8h.html#ab18472732f386d61b67e5fa6e35a57e9">RANGE_CONFIG__VCSEL_PERIOD_B</a></div><div class="ttdeci">#define RANGE_CONFIG__VCSEL_PERIOD_B</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00095">VL53L1X_api.h:95</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ab72c85000f194caedd5a9137e962fde4"><div class="ttname"><a href="VL53L1X__api_8h.html#ab72c85000f194caedd5a9137e962fde4">RANGE_CONFIG__SIGMA_THRESH</a></div><div class="ttdeci">#define RANGE_CONFIG__SIGMA_THRESH</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00098">VL53L1X_api.h:98</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html_a25f7a69860763da776f6e4e678f00d8d"><div class="ttname"><a href="structVL53L1X__Result__t.html#a25f7a69860763da776f6e4e678f00d8d">VL53L1X_Result_t::Ambient</a></div><div class="ttdeci">uint16_t Ambient</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00142">VL53L1X_api.h:142</a></div></div>
<div class="ttc" id="VL43L1X_8c_html_a59f874d10bf763992bd4b427fdb7f0cd"><div class="ttname"><a href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd">offset</a></div><div class="ttdeci">int16_t offset</div><div class="ttdef"><b>Definition:</b> <a href="VL43L1X_8c_source.html#l00052">VL43L1X.c:52</a></div></div>
<div class="ttc" id="structVL53L1X__Version__t_html_a863c15a6ed6b8fca8cbd5b17c36e5f61"><div class="ttname"><a href="structVL53L1X__Version__t.html#a863c15a6ed6b8fca8cbd5b17c36e5f61">VL53L1X_Version_t::revision</a></div><div class="ttdeci">uint32_t revision</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00133">VL53L1X_api.h:133</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_aa343fa3b3d06292b959ffdd4c4703b06"><div class="ttname"><a href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a></div><div class="ttdeci">short int16_t</div><div class="ttdoc">Typedef defining 16 bit short type. The developer should modify this to suit the platform being deplo...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00093">vl53l1_types.h:93</a></div></div>
<div class="ttc" id="structVL53L1X__Version__t_html"><div class="ttname"><a href="structVL53L1X__Version__t.html">VL53L1X_Version_t</a></div><div class="ttdoc">defines SW Version </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00129">VL53L1X_api.h:129</a></div></div>
<div class="ttc" id="VL43L1X_8c_html_adb0ff34475b9aa26cedb11940bc27e85"><div class="ttname"><a href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85">xtalk</a></div><div class="ttdeci">uint16_t xtalk</div><div class="ttdef"><b>Definition:</b> <a href="VL43L1X_8c_source.html#l00053">VL43L1X.c:53</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a55aa3ef1d347f822cc5f6028f2ddf56f"><div class="ttname"><a href="VL53L1X__api_8h.html#a55aa3ef1d347f822cc5f6028f2ddf56f">ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS</a></div><div class="ttdeci">#define ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00083">VL53L1X_api.h:83</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aeb992f2c9bfd1c73dcfae9ebc7180fad"><div class="ttname"><a href="VL53L1X__api_8h.html#aeb992f2c9bfd1c73dcfae9ebc7180fad">VL53L1X_IMPLEMENTATION_VER_MINOR</a></div><div class="ttdeci">#define VL53L1X_IMPLEMENTATION_VER_MINOR</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00074">VL53L1X_api.h:74</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a18bc9ac87e860bbc9106f09d8f35491e"><div class="ttname"><a href="VL53L1X__api_8h.html#a18bc9ac87e860bbc9106f09d8f35491e">RANGE_CONFIG__VCSEL_PERIOD_A</a></div><div class="ttdeci">#define RANGE_CONFIG__VCSEL_PERIOD_A</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00094">VL53L1X_api.h:94</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a17e282e05c4929f630590d556a412b81"><div class="ttname"><a href="VL53L1X__api_8c.html#a17e282e05c4929f630590d556a412b81">VL53L1X_SetROICenter</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetROICenter(uint16_t dev, uint8_t ROICenter)</div><div class="ttdoc">This function programs the new user ROI center, please to be aware that there is no check in this fun...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00745">VL53L1X_api.c:745</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ae1cad325940bd21b0c8fe29e84dfef08"><div class="ttname"><a href="VL53L1X__api_8c.html#ae1cad325940bd21b0c8fe29e84dfef08">VL53L1X_GetXtalk</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetXtalk(uint16_t dev, uint16_t *xtalk)</div><div class="ttdoc">This function returns the current programmed xtalk correction value in cps. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00685">VL53L1X_api.c:685</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a511e76c692a3f6d2a64fa30b674eaa6b"><div class="ttname"><a href="VL53L1X__api_8c.html#a511e76c692a3f6d2a64fa30b674eaa6b">VL53L1X_SetOffset</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetOffset(uint16_t dev, int16_t OffsetValue)</div><div class="ttdoc">This function programs the offset correction in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00645">VL53L1X_api.c:645</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_af09585764ab1dde6627bad6098cd5e6e"><div class="ttname"><a href="VL53L1X__api_8h.html#af09585764ab1dde6627bad6098cd5e6e">VL53L1_I2C_SLAVE__DEVICE_ADDRESS</a></div><div class="ttdeci">#define VL53L1_I2C_SLAVE__DEVICE_ADDRESS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00081">VL53L1X_api.h:81</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_af25151d720c6f6d003e61d92ad738c4c"><div class="ttname"><a href="VL53L1X__api_8h.html#af25151d720c6f6d003e61d92ad738c4c">ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS</a></div><div class="ttdeci">#define ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00084">VL53L1X_api.h:84</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_a13f5e5b6bbe2884a3df0e39228fb3f59"><div class="ttname"><a href="vl53l1__platform_8c.html#a13f5e5b6bbe2884a3df0e39228fb3f59">VL53L1_RdByte</a></div><div class="ttdeci">int8_t VL53L1_RdByte(uint16_t dev, uint16_t index, uint8_t *data)</div><div class="ttdoc">Read a byte (8 bits) from the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00341">vl53l1_platform.c:341</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_abccaf6e0c198fe271bde715a90f23b34"><div class="ttname"><a href="VL53L1X__api_8h.html#abccaf6e0c198fe271bde715a90f23b34">VL53L1X_IMPLEMENTATION_VER_SUB</a></div><div class="ttdeci">#define VL53L1X_IMPLEMENTATION_VER_SUB</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00075">VL53L1X_api.h:75</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a78246c0b55f5f7699339876405331dd8"><div class="ttname"><a href="VL53L1X__api_8c.html#a78246c0b55f5f7699339876405331dd8">VL53L1X_SetDistanceMode</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetDistanceMode(uint16_t dev, uint16_t DM)</div><div class="ttdoc">This function programs the distance mode (1=short, 2=long(default)). Short mode max distance is limit...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00452">VL53L1X_api.c:452</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a55073b9227c0c01f62df93ee8dfff282"><div class="ttname"><a href="VL53L1X__api_8c.html#a55073b9227c0c01f62df93ee8dfff282">VL53L1X_SetSignalThreshold</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetSignalThreshold(uint16_t dev, uint16_t Signal)</div><div class="ttdoc">This function programs a new signal threshold in kcps (default=1024 kcps . </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00791">VL53L1X_api.c:791</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ad064bb1fc37476aeca684de9e73c56e3"><div class="ttname"><a href="VL53L1X__api_8c.html#ad064bb1fc37476aeca684de9e73c56e3">VL53L1X_SetSigmaThreshold</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetSigmaThreshold(uint16_t dev, uint16_t Sigma)</div><div class="ttdoc">This function programs a new sigma threshold in mm (default=15 mm) </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00810">VL53L1X_api.c:810</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ae51c4079082446707d3fdffb8da65e7b"><div class="ttname"><a href="VL53L1X__api_8c.html#ae51c4079082446707d3fdffb8da65e7b">VL53L1X_StartTemperatureUpdate</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_StartTemperatureUpdate(uint16_t dev)</div><div class="ttdoc">This function performs the temperature calibration. It is recommended to call this function any time ...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00833">VL53L1X_api.c:833</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ae0b24e3b0ba77c5de787018eb42e2336"><div class="ttname"><a href="VL53L1X__api_8c.html#ae0b24e3b0ba77c5de787018eb42e2336">VL53L1X_GetSignalRate</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSignalRate(uint16_t dev, uint16_t *signal)</div><div class="ttdoc">This function returns the returned signal in kcps. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00581">VL53L1X_api.c:581</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_ab5eee456d62b436d9c9b0ad1e5421a8e"><div class="ttname"><a href="vl53l1__platform_8c.html#ab5eee456d62b436d9c9b0ad1e5421a8e">VL53L1_RdWord</a></div><div class="ttdeci">int8_t VL53L1_RdWord(uint16_t dev, uint16_t index, uint16_t *data)</div><div class="ttdoc">Read a word (16 bits) from the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00394">vl53l1_platform.c:394</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a9ff4642b47201d4d821fecc72ff8513c"><div class="ttname"><a href="VL53L1X__api_8h.html#a9ff4642b47201d4d821fecc72ff8513c">SYSTEM__THRESH_LOW</a></div><div class="ttdeci">#define SYSTEM__THRESH_LOW</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00103">VL53L1X_api.h:103</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a48ca8aa97a87e716142addc75a6a7f48"><div class="ttname"><a href="VL53L1X__api_8c.html#a48ca8aa97a87e716142addc75a6a7f48">VL53L1X_SetI2CAddress</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetI2CAddress(uint16_t dev, uint8_t new_address)</div><div class="ttdoc">This function sets the sensor I2C address used in case multiple devices application, default address 0x52. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00217">VL53L1X_api.c:217</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ae73e835209b048757aab1021f6a72e41"><div class="ttname"><a href="VL53L1X__api_8h.html#ae73e835209b048757aab1021f6a72e41">RANGE_CONFIG__TIMEOUT_MACROP_B_HI</a></div><div class="ttdeci">#define RANGE_CONFIG__TIMEOUT_MACROP_B_HI</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00096">VL53L1X_api.h:96</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a56383a3d286ad260d205d2d255590d9c"><div class="ttname"><a href="VL53L1X__api_8c.html#a56383a3d286ad260d205d2d255590d9c">VL53L1X_GetTimingBudgetInMs</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetTimingBudgetInMs(uint16_t dev, uint16_t *pTimingBudget)</div><div class="ttdoc">This function returns the current timing budget in ms. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00411">VL53L1X_api.c:411</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_a0b929c31f10a29ac021b48b976e05a00"><div class="ttname"><a href="vl53l1__platform_8c.html#a0b929c31f10a29ac021b48b976e05a00">VL53L1_RdDWord</a></div><div class="ttdeci">int8_t VL53L1_RdDWord(uint16_t dev, uint16_t index, uint32_t *data)</div><div class="ttdoc">Read a double word (32 bits) from the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00453">vl53l1_platform.c:453</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_a3ff714533deebf1a54c3596b1681a8d3"><div class="ttname"><a href="vl53l1__platform_8c.html#a3ff714533deebf1a54c3596b1681a8d3">VL53L1_WrByte</a></div><div class="ttdeci">int8_t VL53L1_WrByte(uint16_t dev, uint16_t index, uint8_t data)</div><div class="ttdoc">Write a byte (8 bits) to the I2C bus. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00173">vl53l1_platform.c:173</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a06745c308363ee18e041ea8fa3c24eb5"><div class="ttname"><a href="VL53L1X__api_8c.html#a06745c308363ee18e041ea8fa3c24eb5">VL53L1X_GetDistance</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetDistance(uint16_t dev, uint16_t *distance)</div><div class="ttdoc">This function returns the distance measured by the sensor in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00546">VL53L1X_api.c:546</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a97207a2ee20535cd0102a4bb05779127"><div class="ttname"><a href="VL53L1X__api_8h.html#a97207a2ee20535cd0102a4bb05779127">SYSTEM__INTERRUPT_CONFIG_GPIO</a></div><div class="ttdeci">#define SYSTEM__INTERRUPT_CONFIG_GPIO</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00091">VL53L1X_api.h:91</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_aeca17868ef2662357e6daf2c41fc5e27"><div class="ttname"><a href="VL53L1X__api_8c.html#aeca17868ef2662357e6daf2c41fc5e27">VL53L1X_GetAmbientRate</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetAmbientRate(uint16_t dev, uint16_t *ambRate)</div><div class="ttdoc">This function returns the ambient rate in kcps. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00603">VL53L1X_api.c:603</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a8206a5ce1126b00d1d96dd6373ba6171"><div class="ttname"><a href="VL53L1X__api_8c.html#a8206a5ce1126b00d1d96dd6373ba6171">VL53L1X_SetXtalk</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetXtalk(uint16_t dev, uint16_t XtalkValue)</div><div class="ttdoc">This function programs the xtalk correction value in cps (Count Per Second). This is the number of ph...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00670">VL53L1X_api.c:670</a></div></div>
<div class="ttc" id="structVL53L1X__Version__t_html_a03c80c16cb2de79265289251f14a1643"><div class="ttname"><a href="structVL53L1X__Version__t.html#a03c80c16cb2de79265289251f14a1643">VL53L1X_Version_t::build</a></div><div class="ttdeci">uint8_t build</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00132">VL53L1X_api.h:132</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a0151356cafc31665554f71d408c248a0"><div class="ttname"><a href="VL53L1X__api_8h.html#a0151356cafc31665554f71d408c248a0">SYSTEM__INTERRUPT_CLEAR</a></div><div class="ttdeci">#define SYSTEM__INTERRUPT_CLEAR</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00110">VL53L1X_api.h:110</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a3b34ed68f67fe7808ce5efe9cf97c97f"><div class="ttname"><a href="VL53L1X__api_8c.html#a3b34ed68f67fe7808ce5efe9cf97c97f">VL53L1X_GetDistanceMode</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetDistanceMode(uint16_t dev, uint16_t *DM)</div><div class="ttdoc">This function returns the current distance mode (1=short, 2=long). </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00487">VL53L1X_api.c:487</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a910b60acd6238719079fcfedd49b513e"><div class="ttname"><a href="VL53L1X__api_8c.html#a910b60acd6238719079fcfedd49b513e">VL53L1X_GetROICenter</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetROICenter(uint16_t dev, uint8_t *ROICenter)</div><div class="ttdoc">This function returns the current user ROI center. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00752">VL53L1X_api.c:752</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a62986bc783e16e04a23f5a73fc99a695"><div class="ttname"><a href="VL53L1X__api_8c.html#a62986bc783e16e04a23f5a73fc99a695">VL53L1X_GetOffset</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetOffset(uint16_t dev, int16_t *offset)</div><div class="ttdoc">This function returns the programmed offset correction value in mm. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00658">VL53L1X_api.c:658</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a2806961b4373aaf95b11489324e8f84b"><div class="ttname"><a href="VL53L1X__api_8h.html#a2806961b4373aaf95b11489324e8f84b">GPIO__TIO_HV_STATUS</a></div><div class="ttdeci">#define GPIO__TIO_HV_STATUS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00090">VL53L1X_api.h:90</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a4841930f2a37b1d6fbb962f7511ba06c"><div class="ttname"><a href="VL53L1X__api_8c.html#a4841930f2a37b1d6fbb962f7511ba06c">VL53L1X_GetRangeStatus</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetRangeStatus(uint16_t dev, uint8_t *rangeStatus)</div><div class="ttdoc">This function returns the ranging status error (0:no error, 1:sigma failed, 2:signal failed...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00613">VL53L1X_api.c:613</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a6a16e9c2ee589cd21957f1302d6654f1"><div class="ttname"><a href="VL53L1X__api_8h.html#a6a16e9c2ee589cd21957f1302d6654f1">SD_CONFIG__WOI_SD0</a></div><div class="ttdeci">#define SD_CONFIG__WOI_SD0</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00104">VL53L1X_api.h:104</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a7ac26737f5a5eb4915af98c2be6fb7c2"><div class="ttname"><a href="VL53L1X__api_8h.html#a7ac26737f5a5eb4915af98c2be6fb7c2">VL53L1_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0</a></div><div class="ttdeci">#define VL53L1_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00115">VL53L1X_api.h:115</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a3a31d70330fb9cfc607eb53e9ccf0aba"><div class="ttname"><a href="VL53L1X__api_8c.html#a3a31d70330fb9cfc607eb53e9ccf0aba">VL53L1X_GetSpadNb</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSpadNb(uint16_t dev, uint16_t *spNb)</div><div class="ttdoc">This function returns the current number of enabled SPADs. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00592">VL53L1X_api.c:592</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a02495d4260afeb98fc3ad68be4fe3c42"><div class="ttname"><a href="VL53L1X__api_8h.html#a02495d4260afeb98fc3ad68be4fe3c42">RANGE_CONFIG__TIMEOUT_MACROP_A_HI</a></div><div class="ttdeci">#define RANGE_CONFIG__TIMEOUT_MACROP_A_HI</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00093">VL53L1X_api.h:93</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a706cd1aa011becfc35c7b496f599a30f"><div class="ttname"><a href="VL53L1X__api_8h.html#a706cd1aa011becfc35c7b496f599a30f">ROI_CONFIG__USER_ROI_CENTRE_SPAD</a></div><div class="ttdeci">#define ROI_CONFIG__USER_ROI_CENTRE_SPAD</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00106">VL53L1X_api.h:106</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_af64a6267f55a636775a99c6c32b098b7"><div class="ttname"><a href="VL53L1X__api_8h.html#af64a6267f55a636775a99c6c32b098b7">VL53L1_ROI_CONFIG__MODE_ROI_CENTRE_SPAD</a></div><div class="ttdeci">#define VL53L1_ROI_CONFIG__MODE_ROI_CENTRE_SPAD</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00120">VL53L1X_api.h:120</a></div></div>
<div class="ttc" id="structVL53L1X__Version__t_html_a6093fa9bbeaa6844ad571a842f4c0345"><div class="ttname"><a href="structVL53L1X__Version__t.html#a6093fa9bbeaa6844ad571a842f4c0345">VL53L1X_Version_t::minor</a></div><div class="ttdeci">uint8_t minor</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00131">VL53L1X_api.h:131</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html_a16cf31b3d24f20e85321bcfef7ecb5b7"><div class="ttname"><a href="structVL53L1X__Result__t.html#a16cf31b3d24f20e85321bcfef7ecb5b7">VL53L1X_Result_t::SigPerSPAD</a></div><div class="ttdeci">uint16_t SigPerSPAD</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00143">VL53L1X_api.h:143</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ab27d045e59238e549647e80fae3573f8"><div class="ttname"><a href="VL53L1X__api_8h.html#ab27d045e59238e549647e80fae3573f8">PHASECAL_CONFIG__TIMEOUT_MACROP</a></div><div class="ttdeci">#define PHASECAL_CONFIG__TIMEOUT_MACROP</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00092">VL53L1X_api.h:92</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a0b554c56b9617df6b957f26e407ce54d"><div class="ttname"><a href="VL53L1X__api_8h.html#a0b554c56b9617df6b957f26e407ce54d">VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND</a></div><div class="ttdeci">#define VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00082">VL53L1X_api.h:82</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_afaf7ce8aa0b5888276751194bcf5f931"><div class="ttname"><a href="VL53L1X__api_8h.html#afaf7ce8aa0b5888276751194bcf5f931">VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD</a></div><div class="ttdeci">#define VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00101">VL53L1X_api.h:101</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a8a039cb7f3e3f9e2aea7eeb8f4224ed5"><div class="ttname"><a href="VL53L1X__api_8c.html#a8a039cb7f3e3f9e2aea7eeb8f4224ed5">VL53L1X_GetSensorId</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSensorId(uint16_t dev, uint16_t *sensorId)</div><div class="ttdoc">This function returns the sensor id, sensor Id must be 0xEEAC. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00536">VL53L1X_api.c:536</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html_a23ecdffefa85822a03fdad882408165d"><div class="ttname"><a href="structVL53L1X__Result__t.html#a23ecdffefa85822a03fdad882408165d">VL53L1X_Result_t::Distance</a></div><div class="ttdeci">uint16_t Distance</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00141">VL53L1X_api.h:141</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a70eee98d23fb77355574e3b14ff6c731"><div class="ttname"><a href="VL53L1X__api_8c.html#a70eee98d23fb77355574e3b14ff6c731">VL53L1X_GetSignalThreshold</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSignalThreshold(uint16_t dev, uint16_t *signal)</div><div class="ttdoc">This function returns the current signal threshold in kcps. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00799">VL53L1X_api.c:799</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a5907eab052463c151a31e7223698f680"><div class="ttname"><a href="VL53L1X__api_8c.html#a5907eab052463c151a31e7223698f680">VL53L1X_GetROI_XY</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetROI_XY(uint16_t dev, uint16_t *ROI_X, uint16_t *ROI_Y)</div><div class="ttdoc">This function returns width X and height Y. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00780">VL53L1X_api.c:780</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aa430923f7d8ebfb9281163d17df1cc1e"><div class="ttname"><a href="VL53L1X__api_8h.html#aa430923f7d8ebfb9281163d17df1cc1e">SYSTEM__MODE_START</a></div><div class="ttdeci">#define SYSTEM__MODE_START</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00111">VL53L1X_api.h:111</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aea5e68cc5ce6336be7979caf62305db2"><div class="ttname"><a href="VL53L1X__api_8h.html#aea5e68cc5ce6336be7979caf62305db2">SD_CONFIG__INITIAL_PHASE_SD0</a></div><div class="ttdeci">#define SD_CONFIG__INITIAL_PHASE_SD0</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00105">VL53L1X_api.h:105</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a35c2b9fdd23437e274889ef5821a80d4"><div class="ttname"><a href="VL53L1X__api_8c.html#a35c2b9fdd23437e274889ef5821a80d4">VL53L1X_GetSignalPerSpad</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetSignalPerSpad(uint16_t dev, uint16_t *signalRate)</div><div class="ttdoc">This function returns the returned signal per SPAD in kcps/SPAD. With kcps stands for Kilo Count Per ...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00557">VL53L1X_api.c:557</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ad7f3c335c97795f0220d04a8feadc3ca"><div class="ttname"><a href="VL53L1X__api_8h.html#ad7f3c335c97795f0220d04a8feadc3ca">RANGE_CONFIG__VALID_PHASE_HIGH</a></div><div class="ttdeci">#define RANGE_CONFIG__VALID_PHASE_HIGH</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00100">VL53L1X_api.h:100</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a88617357dbed400268cfc2ee563f5396"><div class="ttname"><a href="VL53L1X__api_8h.html#a88617357dbed400268cfc2ee563f5396">MM_CONFIG__INNER_OFFSET_MM</a></div><div class="ttdeci">#define MM_CONFIG__INNER_OFFSET_MM</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00087">VL53L1X_api.h:87</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aa80215477cc3130e21769999b9a2cfd4"><div class="ttname"><a href="VL53L1X__api_8h.html#aa80215477cc3130e21769999b9a2cfd4">VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0</a></div><div class="ttdeci">#define VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00116">VL53L1X_api.h:116</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html"><div class="ttname"><a href="structVL53L1X__Result__t.html">VL53L1X_Result_t</a></div><div class="ttdoc">defines packed reading results type </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00139">VL53L1X_api.h:139</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_af0bf25a9ea2d412a2314be795411bbfb"><div class="ttname"><a href="VL53L1X__api_8c.html#af0bf25a9ea2d412a2314be795411bbfb">VL53L1X_SensorInit</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SensorInit(uint16_t dev)</div><div class="ttdoc">This function loads the 135 bytes default values to initialize the sensor. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00225">VL53L1X_api.c:225</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_aad0f40d4cfe841c8ea1df480bda90151"><div class="ttname"><a href="VL53L1X__api_8h.html#aad0f40d4cfe841c8ea1df480bda90151">RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS</a></div><div class="ttdeci">#define RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00099">VL53L1X_api.h:99</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a527349738cae7da4384574cbbf1a3ecf"><div class="ttname"><a href="VL53L1X__api_8c.html#a527349738cae7da4384574cbbf1a3ecf">VL53L1X_GetResult</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetResult(uint16_t dev, VL53L1X_Result_t *pResult)</div><div class="ttdoc">This function returns measurements and the range status in a single read access. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00626">VL53L1X_api.c:626</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ac64d76b7addc2d0f1144b3e903e90c35"><div class="ttname"><a href="VL53L1X__api_8c.html#ac64d76b7addc2d0f1144b3e903e90c35">VL53L1X_SetTimingBudgetInMs</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetTimingBudgetInMs(uint16_t dev, uint16_t TimingBudgetInMs)</div><div class="ttdoc">This function programs the timing budget in ms. Predefined values = 15, 20, 33, 50, 100(default), 200, 500. </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00309">VL53L1X_api.c:309</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a59a3061409df959f69ff1053a4f0fc0e"><div class="ttname"><a href="VL53L1X__api_8c.html#a59a3061409df959f69ff1053a4f0fc0e">VL53L1X_SetInterMeasurementInMs</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetInterMeasurementInMs(uint16_t dev, uint32_t InterMeasMs)</div><div class="ttdoc">This function programs the Intermeasurement period in ms Intermeasurement period must be >/= timing b...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00499">VL53L1X_api.c:499</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a6a27dfef0795b6688aacd6cd158939be"><div class="ttname"><a href="VL53L1X__api_8h.html#a6a27dfef0795b6688aacd6cd158939be">VL53L1_IDENTIFICATION__MODEL_ID</a></div><div class="ttdeci">#define VL53L1_IDENTIFICATION__MODEL_ID</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00119">VL53L1X_api.h:119</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a542371c8c3204d2a190bebed741a741e"><div class="ttname"><a href="VL53L1X__api_8h.html#a542371c8c3204d2a190bebed741a741e">VL53L1X_IMPLEMENTATION_VER_MAJOR</a></div><div class="ttdeci">#define VL53L1X_IMPLEMENTATION_VER_MAJOR</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00073">VL53L1X_api.h:73</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a25a78b1dc1070a5e72e19645f8f52d33"><div class="ttname"><a href="VL53L1X__api_8h.html#a25a78b1dc1070a5e72e19645f8f52d33">ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS</a></div><div class="ttdeci">#define ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00085">VL53L1X_api.h:85</a></div></div>
<div class="ttc" id="structVL53L1X__Version__t_html_a9c8962c09fa41401d393b28237062450"><div class="ttname"><a href="structVL53L1X__Version__t.html#a9c8962c09fa41401d393b28237062450">VL53L1X_Version_t::major</a></div><div class="ttdeci">uint8_t major</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00130">VL53L1X_api.h:130</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a3f7f279509c4971c0027dd4004007c2f"><div class="ttname"><a href="VL53L1X__api_8h.html#a3f7f279509c4971c0027dd4004007c2f">MM_CONFIG__OUTER_OFFSET_MM</a></div><div class="ttdeci">#define MM_CONFIG__OUTER_OFFSET_MM</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00088">VL53L1X_api.h:88</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a51f7cace95b9d5d8e1bd093ddb19a7dd"><div class="ttname"><a href="VL53L1X__api_8c.html#a51f7cace95b9d5d8e1bd093ddb19a7dd">VL53L1X_CheckForDataReady</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_CheckForDataReady(uint16_t dev, uint8_t *isDataReady)</div><div class="ttdoc">This function checks if the new ranging data is available by polling the dedicated register...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00291">VL53L1X_api.c:291</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a8fec1c1688c009c83fd1729042522710"><div class="ttname"><a href="VL53L1X__api_8h.html#a8fec1c1688c009c83fd1729042522710">RESULT__AMBIENT_COUNT_RATE_MCPS_SD</a></div><div class="ttdeci">#define RESULT__AMBIENT_COUNT_RATE_MCPS_SD</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00114">VL53L1X_api.h:114</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_ac2b6c32911c2c553477f19bb3c25ce89"><div class="ttname"><a href="VL53L1X__api_8h.html#ac2b6c32911c2c553477f19bb3c25ce89">GPIO_HV_MUX__CTRL</a></div><div class="ttdeci">#define GPIO_HV_MUX__CTRL</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00089">VL53L1X_api.h:89</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ac10c1d2f6d7357ec86bcb0574c8885cd"><div class="ttname"><a href="VL53L1X__api_8c.html#ac10c1d2f6d7357ec86bcb0574c8885cd">VL53L1X_GetDistanceThresholdWindow</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_GetDistanceThresholdWindow(uint16_t dev, uint16_t *window)</div><div class="ttdoc">This function returns the window detection mode (0=below; 1=above; 2=out; 3=in) </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00716">VL53L1X_api.c:716</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ab4bae81bb4a10d4bba7ff1849d10cf5c"><div class="ttname"><a href="VL53L1X__api_8c.html#ab4bae81bb4a10d4bba7ff1849d10cf5c">VL53L1X_ClearInterrupt</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_ClearInterrupt(uint16_t dev)</div><div class="ttdoc">This function clears the interrupt, to be called after a ranging data reading to arm the interrupt fo...</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00245">VL53L1X_api.c:245</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html_a2ab0e4617017e0bd940200ba07be4d34"><div class="ttname"><a href="VL53L1X__api_8h.html#a2ab0e4617017e0bd940200ba07be4d34">ALGO__PART_TO_PART_RANGE_OFFSET_MM</a></div><div class="ttdeci">#define ALGO__PART_TO_PART_RANGE_OFFSET_MM</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00086">VL53L1X_api.h:86</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a273cf69d639a59973b6019625df33e30"><div class="ttname"><a href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a></div><div class="ttdeci">unsigned short uint16_t</div><div class="ttdoc">Typedef defining 16 bit unsigned short type. The developer should modify this to suit the platform be...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00088">vl53l1_types.h:88</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a9b2ac6a6b2be2e5c1264c0bc4e8ef01e"><div class="ttname"><a href="VL53L1X__api_8c.html#a9b2ac6a6b2be2e5c1264c0bc4e8ef01e">status_rtn</a></div><div class="ttdeci">static const uint8_t status_rtn[24]</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00201">VL53L1X_api.c:201</a></div></div>
<div class="ttc" id="vl53l1__platform_8c_html_a5005e5666c0dcfe32fa0ad97f6392e31"><div class="ttname"><a href="vl53l1__platform_8c.html#a5005e5666c0dcfe32fa0ad97f6392e31">VL53L1_ReadMulti</a></div><div class="ttdeci">int8_t VL53L1_ReadMulti(uint16_t dev, uint16_t index, uint8_t *pdata, uint32_t count)</div><div class="ttdoc">TODO. </div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__platform_8c_source.html#l00134">vl53l1_platform.c:134</a></div></div>
<div class="ttc" id="VL53L1X__api_8h_html"><div class="ttname"><a href="VL53L1X__api_8h.html">VL53L1X_api.h</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a4cf7d117b7a683b7400ee6eaf975079e"><div class="ttname"><a href="VL53L1X__api_8c.html#a4cf7d117b7a683b7400ee6eaf975079e">VL51L1X_DEFAULT_CONFIGURATION</a></div><div class="ttdeci">const uint8_t VL51L1X_DEFAULT_CONFIGURATION[]</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00107">VL53L1X_api.c:107</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_a93effb186a00a1c05b82829d4e8a2e6e"><div class="ttname"><a href="VL53L1X__api_8c.html#a93effb186a00a1c05b82829d4e8a2e6e">VL53L1X_SetDistanceThreshold</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_SetDistanceThreshold(uint16_t dev, uint16_t ThreshLow, uint16_t ThreshHigh, uint8_t Window, uint8_t IntOnNoTarget)</div><div class="ttdoc">This function programs the threshold detection mode Example: VL53L1X_SetDistanceThreshold(dev,100,300,0,1): Below 100 VL53L1X_SetDistanceThreshold(dev,100,300,1,1): Above 300 VL53L1X_SetDistanceThreshold(dev,100,300,2,1): Out of window VL53L1X_SetDistanceThreshold(dev,100,300,3,1): In window . </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00695">VL53L1X_api.c:695</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdoc">Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00098">vl53l1_types.h:98</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html_ab728a6f4521ca376d9dbe0710158b2b5"><div class="ttname"><a href="structVL53L1X__Result__t.html#ab728a6f4521ca376d9dbe0710158b2b5">VL53L1X_Result_t::Status</a></div><div class="ttdeci">uint8_t Status</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00140">VL53L1X_api.h:140</a></div></div>
<div class="ttc" id="VL53L1X__api_8c_html_ab92b2593ea9db5c1b39fcaaff474ee16"><div class="ttname"><a href="VL53L1X__api_8c.html#ab92b2593ea9db5c1b39fcaaff474ee16">VL53L1X_BootState</a></div><div class="ttdeci">VL53L1X_ERROR VL53L1X_BootState(uint16_t dev, uint8_t *state)</div><div class="ttdoc">This function returns the boot state of the device (1:booted, 0:not booted) </div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8c_source.html#l00526">VL53L1X_api.c:526</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
<div class="ttc" id="structVL53L1X__Result__t_html_a549c2710b0f17a249a84ecee103daf93"><div class="ttname"><a href="structVL53L1X__Result__t.html#a549c2710b0f17a249a84ecee103daf93">VL53L1X_Result_t::NumSPADs</a></div><div class="ttdeci">uint16_t NumSPADs</div><div class="ttdef"><b>Definition:</b> <a href="VL53L1X__api_8h_source.html#l00144">VL53L1X_api.h:144</a></div></div>
</div><!-- fragment --></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="dir_d9edf6c004b4a7ff14fe9ae7a92214ee.html">firmware</a></li><li class="navelem"><a class="el" href="dir_9a5a365c58dea0dc152d55f461feaba5.html">EFM32HG222F64_iot-mbbr</a></li><li class="navelem"><a class="el" href="dir_0060e6410b4221bd784218667f19287e.html">VL53L1X_API</a></li><li class="navelem"><a class="el" href="VL53L1X__api_8c.html">VL53L1X_api.c</a></li>
<li class="footer">Generated on Thu Sep 3 2020 04:44:25 for IoT-MBBR (masterthesis) by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>