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/src/VL43L1X.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('VL43L1X_8c_source.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">VL43L1X.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="VL43L1X_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><span class="comment">/**</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * @file VL53L1X.c</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief Code for the VL53L1X sensor.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * @version 1.0</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * @author by Brecht Van Eeckhoudt</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * ******************************************************************************</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"> * @section Versions</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"> * @li v1.0: Initial version</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"> * @section License</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * **Copyright (C) 2020 - Brecht Van Eeckhoudt**</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * it under the terms of the **GNU General Public License** as published by</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * the Free Software Foundation, either **version 3** of the License, or</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * (at your option) any later version.</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"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * GNU General Public License for more details.</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"> * *A copy of the GNU General Public License can be found in the `LICENSE`</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * file along with this source code.*</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * @n</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * Some methods also use code obtained from examples from [Silicon Labs' GitHub](https://github.com/SiliconLabs/peripheral_examples).</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * These sections are licensed under the Silabs License Agreement. See the file</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * "Silabs_License_Agreement.txt" for details. Before using this software for</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * any purpose, you must agree to the terms of that agreement.</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"> ******************************************************************************/</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdint.h></span> <span class="comment">/* (u)intXX_t */</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdbool.h></span> <span class="comment">/* "bool", "true", "false" */</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "<a class="code" href="debug__dbprint_8h.html">debug_dbprint.h</a>"</span> <span class="comment">/* Enable or disable printing to UART for debugging */</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="delay_8h.html">delay.h</a>"</span> <span class="comment">/* Delay functionality */</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "<a class="code" href="i2c_8h.html">i2c.h</a>"</span> <span class="comment">/* I2C initialization */</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "<a class="code" href="VL53L1X__api_8h.html">VL53L1X_api.h</a>"</span> <span class="comment">/* VL53L1X API */</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* Local variables */</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd"> 52</a></span> <a class="code" href="vl53l1__types_8h.html#aa343fa3b3d06292b959ffdd4c4703b06">int16_t</a> <a class="code" href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd">offset</a>; <span class="comment">/* Calibration value */</span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85"> 53</a></span> <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85">xtalk</a>; <span class="comment">/* Calibration value */</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/**************************************************************************/</span><span class="comment">/**</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * @brief</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * Initialize the sensor.</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"> * @details</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * This method wait until the sensor is booted, initializes it and</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * gets offset values.</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> <span class="comment"> * @return</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> * @return</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> * @li `0` - Calibration successful.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * @li `-1` - Calibration failed.</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> *****************************************************************************/</span></div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="VL43L1X_8c.html#a19317f7e05184a386b57bc376f1039d5"> 69</a></span> <a class="code" href="vl53l1__types_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="VL43L1X_8c.html#a19317f7e05184a386b57bc376f1039d5">initVL53L1X</a> (<span class="keywordtype">void</span>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">/* Returned status */</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="vl53l1__types_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> status;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="comment">/* Wait for device booted */</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bootState = 0;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> exitWhile = 0;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">while</span> ((bootState != 1) && (exitWhile < 5))</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  status = <a class="code" href="VL53L1X__api_8c.html#ab92b2593ea9db5c1b39fcaaff474ee16">VL53L1X_BootState</a>(0x52, &bootState);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_BootState status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="dbprint_8c.html#a0511ddad2e00a8187d5449b15de7eb4f">dbinfoInt</a>(<span class="stringliteral">"VL53L1X_BootState = "</span>, bootState, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">/* 1s delay */</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="delay_8h.html#adb46f4276f5ddf111153701858f85df6">delay</a>(1000);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">/* Functionality so we don't end up forever in this loop */</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  exitWhile++;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">/* Initialize sensor */</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  status = <a class="code" href="VL53L1X__api_8c.html#af0bf25a9ea2d412a2314be795411bbfb">VL53L1X_SensorInit</a>(0x52);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_SensorInit status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">/* Get offset */</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  status = <a class="code" href="VL53L1X__api_8c.html#a62986bc783e16e04a23f5a73fc99a695">VL53L1X_GetOffset</a>(0x52, &<a class="code" href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd">offset</a>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetOffset status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="dbprint_8c.html#ada27783fef89d9c9af4976baab87c477">dbwarnInt</a>(<span class="stringliteral">"VL53L1X_GetOffset = "</span>, <a class="code" href="VL43L1X_8c.html#a59f874d10bf763992bd4b427fdb7f0cd">offset</a>, <span class="stringliteral">" mm"</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">/* Get Xtalk */</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  status = <a class="code" href="VL53L1X__api_8c.html#ae1cad325940bd21b0c8fe29e84dfef08">VL53L1X_GetXtalk</a>(0x52, &<a class="code" href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85">xtalk</a>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetXtalk status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="dbprint_8c.html#ada27783fef89d9c9af4976baab87c477">dbwarnInt</a>(<span class="stringliteral">"VL53L1X_GetXtalk = "</span>, <a class="code" href="VL43L1X_8c.html#adb0ff34475b9aa26cedb11940bc27e85">xtalk</a>, <span class="stringliteral">" cps"</span>);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">/* Configure distance mode to short (1.3m), better ambient immunity */</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  status = <a class="code" href="VL53L1X__api_8c.html#a78246c0b55f5f7699339876405331dd8">VL53L1X_SetDistanceMode</a>(0x52, 2); <span class="comment">/* default = long (4m in the dark with 200 ms timing budget) */</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#if DBPRINT_VERBOSE == 1 </span><span class="comment">/* DBPRINT_VERBOSE */</span><span class="preprocessor"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_SetDistanceMode status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#endif </span><span class="comment">/* DBPRINT_VERBOSE */</span><span class="preprocessor"></span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="comment">/* Configure inter-measurement period to 500 ms (IMP, has to be the same or greater than the timing budget) */</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  status = <a class="code" href="VL53L1X__api_8c.html#a59a3061409df959f69ff1053a4f0fc0e">VL53L1X_SetInterMeasurementInMs</a>(0x52, 500); <span class="comment">/* default = 100 ms */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_SetInterMeasurementInMs status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="comment">/* Configure timing budget to 200 ms */</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  status = <a class="code" href="VL53L1X__api_8c.html#ac64d76b7addc2d0f1144b3e903e90c35">VL53L1X_SetTimingBudgetInMs</a>(0x52, 200); <span class="comment">/* default = 100 ms */</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_SetTimingBudgetInMs status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">/* Get sensor ID */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> id; <span class="comment">// must be 0xEEAC ??</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  status = <a class="code" href="VL53L1X__api_8c.html#a8a039cb7f3e3f9e2aea7eeb8f4224ed5">VL53L1X_GetSensorId</a>(0x52, &<span class="keywordtype">id</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetSensorId status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="dbprint_8c.html#af175e2f9858ee73556d78256d72e6823">dbinfoInt_hex</a>(<span class="stringliteral">"VL53L1X_GetSensorId = "</span>, <span class="keywordtype">id</span>, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> (status);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/**************************************************************************/</span><span class="comment">/**</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> * @brief</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> * Get a sensor reading.</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> *</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> * @return</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> * The measured distance in mm.</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> *****************************************************************************/</span></div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="VL43L1X_8c.html#a78627c1d9a7e74ab4ae13307fb887fda"> 160</a></span> <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="VL43L1X_8c.html#a78627c1d9a7e74ab4ae13307fb887fda">measureVL53L1X</a> (<span class="keywordtype">void</span>)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">/* Start ranging */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="vl53l1__types_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> status = <a class="code" href="VL53L1X__api_8c.html#a59adb6ca7cf8cf1744dda9223e060d7a">VL53L1X_StartRanging</a>(0x52);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_StartRanging status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dataReady;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="vl53l1__types_8h.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> distance;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">/* Wait for data ready */</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">while</span> (dataReady != 1)</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  status = <a class="code" href="VL53L1X__api_8c.html#a51f7cace95b9d5d8e1bd093ddb19a7dd">VL53L1X_CheckForDataReady</a>(0x52, &dataReady);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_CheckForDataReady status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">/* Get range status */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> state;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  status = <a class="code" href="VL53L1X__api_8c.html#a4841930f2a37b1d6fbb962f7511ba06c">VL53L1X_GetRangeStatus</a>(0x52, &state);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetRangeStatus status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">if</span> (state != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetRangeStatus = "</span>, state, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="comment">/* Get distance */</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  status = <a class="code" href="VL53L1X__api_8c.html#a06745c308363ee18e041ea8fa3c24eb5">VL53L1X_GetDistance</a>(0x52, &distance);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_GetDistance status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="comment">/* Clear interrupt */</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  status = <a class="code" href="VL53L1X__api_8c.html#ab4bae81bb4a10d4bba7ff1849d10cf5c">VL53L1X_ClearInterrupt</a>(0x52);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#if DEBUG_DBPRINT == 1 </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">if</span> (status != 0) <a class="code" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a>(<span class="stringliteral">"VL53L1X_ClearInterrupt status = "</span>, status, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#endif </span><span class="comment">/* DEBUG_DBPRINT */</span><span class="preprocessor"></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"> 206</span>  <span class="keywordflow">return</span> (distance);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div><div class="ttc" id="dbprint_8c_html_af175e2f9858ee73556d78256d72e6823"><div class="ttname"><a href="dbprint_8c.html#af175e2f9858ee73556d78256d72e6823">dbinfoInt_hex</a></div><div class="ttdeci">void dbinfoInt_hex(char *message1, int32_t value, char *message2)</div><div class="ttdoc">Print an info value surrounded by two strings (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00661">dbprint.c:661</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="dbprint_8c_html_a0511ddad2e00a8187d5449b15de7eb4f"><div class="ttname"><a href="dbprint_8c.html#a0511ddad2e00a8187d5449b15de7eb4f">dbinfoInt</a></div><div class="ttdeci">void dbinfoInt(char *message1, int32_t value, char *message2)</div><div class="ttdoc">Print an info value surrounded by two strings (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00569">dbprint.c:569</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="vl53l1__types_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="vl53l1__types_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdoc">Typedef defining 8 bit char type. The developer should modify this to suit the platform being deploye...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00103">vl53l1_types.h:103</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="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="dbprint_8c_html_ac127caf50634ea902e2ae98d038feec8"><div class="ttname"><a href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a></div><div class="ttdeci">void dbcritInt(char *message1, int32_t value, char *message2)</div><div class="ttdoc">Print a critical value surrounded by two strings (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00631">dbprint.c:631</a></div></div>
<div class="ttc" id="dbprint_8c_html_ada27783fef89d9c9af4976baab87c477"><div class="ttname"><a href="dbprint_8c.html#ada27783fef89d9c9af4976baab87c477">dbwarnInt</a></div><div class="ttdeci">void dbwarnInt(char *message1, int32_t value, char *message2)</div><div class="ttdoc">Print a warning value surrounded by two strings (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00600">dbprint.c:600</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_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_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_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_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="delay_8h_html"><div class="ttname"><a href="delay_8h.html">delay.h</a></div><div class="ttdoc">Delay functionality. </div></div>
<div class="ttc" id="debug__dbprint_8h_html"><div class="ttname"><a href="debug__dbprint_8h.html">debug_dbprint.h</a></div><div class="ttdoc">Enable or disable printing to UART with dbprint. </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="delay_8h_html_adb46f4276f5ddf111153701858f85df6"><div class="ttname"><a href="delay_8h.html#adb46f4276f5ddf111153701858f85df6">delay</a></div><div class="ttdeci">void delay(uint32_t msDelay)</div><div class="ttdoc">Wait for a certain amount of milliseconds in EM2/3. </div><div class="ttdef"><b>Definition:</b> <a href="delay_8c_source.html#l00124">delay.c:124</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_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="VL43L1X_8c_html_a19317f7e05184a386b57bc376f1039d5"><div class="ttname"><a href="VL43L1X_8c.html#a19317f7e05184a386b57bc376f1039d5">initVL53L1X</a></div><div class="ttdeci">int8_t initVL53L1X(void)</div><div class="ttdoc">Initialize the sensor. </div><div class="ttdef"><b>Definition:</b> <a href="VL43L1X_8c_source.html#l00069">VL43L1X.c:69</a></div></div>
<div class="ttc" id="VL43L1X_8c_html_a78627c1d9a7e74ab4ae13307fb887fda"><div class="ttname"><a href="VL43L1X_8c.html#a78627c1d9a7e74ab4ae13307fb887fda">measureVL53L1X</a></div><div class="ttdeci">uint16_t measureVL53L1X(void)</div><div class="ttdoc">Get a sensor reading. </div><div class="ttdef"><b>Definition:</b> <a href="VL43L1X_8c_source.html#l00160">VL43L1X.c:160</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_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="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_8h_html"><div class="ttname"><a href="VL53L1X__api_8h.html">VL53L1X_api.h</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="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="i2c_8h_html"><div class="ttname"><a href="i2c_8h.html">i2c.h</a></div><div class="ttdoc">I2C functionality. </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_07cf71b65af3d7a9f5557ec1f8ea51c9.html">src</a></li><li class="navelem"><a class="el" href="VL43L1X_8c.html">VL43L1X.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>