1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ISSDK: sensors/register_io_i2c.c File Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="issdk_stylesheet.css" rel="stylesheet" type="text/css" />
13</head>
14<body>
15<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
16<div id="titlearea">
17<table cellspacing="0" cellpadding="0">
18 <tbody>
19 <tr style="height: 56px;">
20  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
21  <td id="projectalign" style="padding-left: 0.5em;">
22   <div id="projectname">ISSDK
23   &#160;<span id="projectnumber">1.8</span>
24   </div>
25   <div id="projectbrief">IoT Sensing Software Development Kit</div>
26  </td>
27 </tr>
28 </tbody>
29</table>
30</div>
31<!-- end header part -->
32<!-- Generated by Doxygen 1.8.13 -->
33<script type="text/javascript" src="menudata.js"></script>
34<script type="text/javascript" src="menu.js"></script>
35<script type="text/javascript">
36$(function() {
37  initMenu('',false,false,'search.php','Search');
38});
39</script>
40<div id="main-nav"></div>
41<div id="nav-path" class="navpath">
42  <ul>
43<li class="navelem"><a class="el" href="dir_c77a8e2546a9c75bbba96be2ef542c8e.html">sensors</a></li>  </ul>
44</div>
45</div><!-- top -->
46<div class="header">
47  <div class="summary">
48<a href="#define-members">Macros</a> &#124;
49<a href="#func-members">Functions</a> &#124;
50<a href="#var-members">Variables</a>  </div>
51  <div class="headertitle">
52<div class="title">register_io_i2c.c File Reference</div>  </div>
53</div><!--header-->
54<div class="contents">
55
56<p>The <a class="el" href="a00167.html" title="The register_io_i2c.c file contains definitions for low-level interface functions for reading and wri...">register_io_i2c.c</a> file contains definitions for low-level interface functions for reading and writing sensor registers.
57<a href="#details">More...</a></p>
58<div class="textblock"><code>#include &lt;string.h&gt;</code><br />
59<code>#include &quot;issdk_hal.h&quot;</code><br />
60<code>#include &quot;<a class="el" href="a00170_source.html">register_io_i2c.h</a>&quot;</code><br />
61</div><div class="textblock"><div class="dynheader">
62Include dependency graph for register_io_i2c.c:</div>
63<div class="dyncontent">
64<div class="center"><img src="a00168.png" border="0" usemap="#sensors_2register__io__i2c_8c" alt=""/></div>
65<map name="sensors_2register__io__i2c_8c" id="sensors_2register__io__i2c_8c">
66<area shape="rect" id="node4" href="a00170.html" title="The register_io_i2c.h file declares low&#45;level interface functions for reading and writing sensor regi..." alt="" coords="207,95,325,121"/>
67</map>
68</div>
69</div>
70<p><a href="a00167_source.html">Go to the source code of this file.</a></p>
71<table class="memberdecls">
72<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
73Macros</h2></td></tr>
74<tr class="memitem:a9dd9072626cd21a707b11d41ee4d3305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>&#160;&#160;&#160;(sizeof(<a class="el" href="a00167.html#a9b0df6c67dc20a02b95210d627ee6338">i2cBases</a>) / sizeof(void *))</td></tr>
75<tr class="separator:a9dd9072626cd21a707b11d41ee4d3305"><td class="memSeparator" colspan="2">&#160;</td></tr>
76</table><table class="memberdecls">
77<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
78Functions</h2></td></tr>
79<tr class="memitem:ac5a66aa1b8d95d267c9d68cb475c9e01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ac5a66aa1b8d95d267c9d68cb475c9e01">Register_I2C_BlockWrite</a> (ARM_DRIVER_I2C *pCommDrv, <a class="el" href="a03819.html">registerDeviceInfo_t</a> *devInfo, uint16_t slaveAddress, uint8_t offset, const uint8_t *pBuffer, uint8_t bytesToWrite)</td></tr>
80<tr class="memdesc:ac5a66aa1b8d95d267c9d68cb475c9e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface function to write a sensor register.  <a href="#ac5a66aa1b8d95d267c9d68cb475c9e01">More...</a><br /></td></tr>
81<tr class="separator:ac5a66aa1b8d95d267c9d68cb475c9e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
82<tr class="memitem:ad08d2c7880bc5f09fd27eee247311448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ad08d2c7880bc5f09fd27eee247311448">Register_I2C_Write</a> (ARM_DRIVER_I2C *pCommDrv, <a class="el" href="a03819.html">registerDeviceInfo_t</a> *devInfo, uint16_t slaveAddress, uint8_t offset, uint8_t value, uint8_t mask, bool repeatedStart)</td></tr>
83<tr class="memdesc:ad08d2c7880bc5f09fd27eee247311448"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface function to write a sensor register.  <a href="#ad08d2c7880bc5f09fd27eee247311448">More...</a><br /></td></tr>
84<tr class="separator:ad08d2c7880bc5f09fd27eee247311448"><td class="memSeparator" colspan="2">&#160;</td></tr>
85<tr class="memitem:ac8a60c799d9dbc84531b4680762eb8dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ac8a60c799d9dbc84531b4680762eb8dc">Register_I2C_Read</a> (ARM_DRIVER_I2C *pCommDrv, <a class="el" href="a03819.html">registerDeviceInfo_t</a> *devInfo, uint16_t slaveAddress, uint8_t offset, uint8_t length, uint8_t *pOutBuffer)</td></tr>
86<tr class="memdesc:ac8a60c799d9dbc84531b4680762eb8dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface function to read a sensor register.  <a href="#ac8a60c799d9dbc84531b4680762eb8dc">More...</a><br /></td></tr>
87<tr class="separator:ac8a60c799d9dbc84531b4680762eb8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
88</table><table class="memberdecls">
89<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
90Variables</h2></td></tr>
91<tr class="memitem:a9b0df6c67dc20a02b95210d627ee6338"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00758.html#aaf4433adb76728ab4fef92f284690e2f">I2C_Type</a> *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#a9b0df6c67dc20a02b95210d627ee6338">i2cBases</a> [] = <a class="el" href="a00758.html#aee17f364d6d1712b62774e6c33dea554">I2C_BASE_PTRS</a></td></tr>
92<tr class="separator:a9b0df6c67dc20a02b95210d627ee6338"><td class="memSeparator" colspan="2">&#160;</td></tr>
93<tr class="memitem:a48becdc9f7e835f9e9c6758834c06688"><td class="memItemLeft" align="right" valign="top">volatile bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#a48becdc9f7e835f9e9c6758834c06688">b_I2C_CompletionFlag</a> [<a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>] = {<a class="el" href="a00914.html#a65e9886d74aaee76545e83dd09011727">false</a>}</td></tr>
94<tr class="separator:a48becdc9f7e835f9e9c6758834c06688"><td class="memSeparator" colspan="2">&#160;</td></tr>
95<tr class="memitem:ac881756727bcc128da3a87e654dd0d01"><td class="memItemLeft" align="right" valign="top">volatile uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ac881756727bcc128da3a87e654dd0d01">g_I2C_ErrorEvent</a> [<a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>] = {ARM_I2C_EVENT_TRANSFER_DONE}</td></tr>
96<tr class="separator:ac881756727bcc128da3a87e654dd0d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
97</table>
98<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
99<div class="textblock"><p>The <a class="el" href="a00167.html" title="The register_io_i2c.c file contains definitions for low-level interface functions for reading and wri...">register_io_i2c.c</a> file contains definitions for low-level interface functions for reading and writing sensor registers. </p>
100
101<p class="definition">Definition in file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
102</div><h2 class="groupheader">Macro Definition Documentation</h2>
103<a id="a9dd9072626cd21a707b11d41ee4d3305"></a>
104<h2 class="memtitle"><span class="permalink"><a href="#a9dd9072626cd21a707b11d41ee4d3305">&#9670;&nbsp;</a></span>I2C_COUNT</h2>
105
106<div class="memitem">
107<div class="memproto">
108      <table class="memname">
109        <tr>
110          <td class="memname">#define I2C_COUNT&#160;&#160;&#160;(sizeof(<a class="el" href="a00167.html#a9b0df6c67dc20a02b95210d627ee6338">i2cBases</a>) / sizeof(void *))</td>
111        </tr>
112      </table>
113</div><div class="memdoc">
114
115<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00025">25</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
116
117</div>
118</div>
119<h2 class="groupheader">Function Documentation</h2>
120<a id="ac5a66aa1b8d95d267c9d68cb475c9e01"></a>
121<h2 class="memtitle"><span class="permalink"><a href="#ac5a66aa1b8d95d267c9d68cb475c9e01">&#9670;&nbsp;</a></span>Register_I2C_BlockWrite()</h2>
122
123<div class="memitem">
124<div class="memproto">
125      <table class="memname">
126        <tr>
127          <td class="memname"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> Register_I2C_BlockWrite </td>
128          <td>(</td>
129          <td class="paramtype">ARM_DRIVER_I2C *&#160;</td>
130          <td class="paramname"><em>pCommDrv</em>, </td>
131        </tr>
132        <tr>
133          <td class="paramkey"></td>
134          <td></td>
135          <td class="paramtype"><a class="el" href="a03819.html">registerDeviceInfo_t</a> *&#160;</td>
136          <td class="paramname"><em>devInfo</em>, </td>
137        </tr>
138        <tr>
139          <td class="paramkey"></td>
140          <td></td>
141          <td class="paramtype">uint16_t&#160;</td>
142          <td class="paramname"><em>slaveAddress</em>, </td>
143        </tr>
144        <tr>
145          <td class="paramkey"></td>
146          <td></td>
147          <td class="paramtype">uint8_t&#160;</td>
148          <td class="paramname"><em>offset</em>, </td>
149        </tr>
150        <tr>
151          <td class="paramkey"></td>
152          <td></td>
153          <td class="paramtype">const uint8_t *&#160;</td>
154          <td class="paramname"><em>pBuffer</em>, </td>
155        </tr>
156        <tr>
157          <td class="paramkey"></td>
158          <td></td>
159          <td class="paramtype">uint8_t&#160;</td>
160          <td class="paramname"><em>bytesToWrite</em>&#160;</td>
161        </tr>
162        <tr>
163          <td></td>
164          <td>)</td>
165          <td></td><td></td>
166        </tr>
167      </table>
168</div><div class="memdoc">
169
170<p>The interface function to write a sensor register. </p>
171<p>The interface function to block write sensor registers. </p>
172
173<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00149">149</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
174
175<p class="reference">References <a class="el" href="a00167_source.html#l00031">b_I2C_CompletionFlag</a>, <a class="el" href="a00179_source.html#l00106">registerDeviceInfo_t::deviceInstance</a>, <a class="el" href="a00179_source.html#l00105">registerDeviceInfo_t::functionParam</a>, <a class="el" href="a00167_source.html#l00032">g_I2C_ErrorEvent</a>, <a class="el" href="a00179_source.html#l00104">registerDeviceInfo_t::idleFunction</a>, <a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t()</a>, <a class="el" href="a00179_source.html#l00042">SENSOR_MAX_REGISTER_COUNT</a>, and <a class="el" href="a00359_source.html#l00248">status</a>.</p>
176
177<p class="reference">Referenced by <a class="el" href="a00542_source.html#l00636">ADS_FXLC95000Query()</a>, <a class="el" href="a00542_source.html#l00665">ADS_MMA9553Query()</a>, <a class="el" href="a00038_source.html#l00190">FXLC95000_I2C_CheckRomMode()</a>, <a class="el" href="a00038_source.html#l00338">FXLC95000_I2C_Initialize()</a>, <a class="el" href="a00098_source.html#l00207">Host_IO_Receive()</a>, <a class="el" href="a00152_source.html#l00369">MMA9553_I2C_Initialize()</a>, and <a class="el" href="a00182_source.html#l00024">Sensor_I2C_BlockWrite()</a>.</p>
178<div class="dynheader">
179Here is the call graph for this function:</div>
180<div class="dyncontent">
181<div class="center"><img src="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_cgraph.png" border="0" usemap="#a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_cgraph" alt=""/></div>
182<map name="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_cgraph" id="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_cgraph">
183<area shape="rect" id="node2" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f" title="The interface function to append the data on the formated stream. " alt="" coords="220,5,281,32"/>
184</map>
185</div>
186<div class="dynheader">
187Here is the caller graph for this function:</div>
188<div class="dyncontent">
189<div class="center"><img src="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_icgraph.png" border="0" usemap="#a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_icgraph" alt=""/></div>
190<map name="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_icgraph" id="a00167_ac5a66aa1b8d95d267c9d68cb475c9e01_icgraph">
191<area shape="rect" id="node2" href="a00542.html#ad1db6927af79c26ca7b6447a93b42131" title="ADS_FXLC95000Query" alt="" coords="250,5,407,32"/>
192<area shape="rect" id="node3" href="a00542.html#a61f59d3254fb54c57b010f2f9f8a7499" title="ADS_MMA9553Query" alt="" coords="253,56,404,83"/>
193<area shape="rect" id="node4" href="a00041.html#ae354fc2aafbf7609f21ebc8cf2538db0" title="The interface function to check if the sensor is in ROM CI Mode. " alt="" coords="220,107,437,133"/>
194<area shape="rect" id="node5" href="a00041.html#a32b4c71a3c3cbef9999416fdb83dc054" title="The interface function to initialize the sensor. " alt="" coords="245,157,413,184"/>
195<area shape="rect" id="node6" href="a00101.html#a3924d21a0703878695ebdb68f720fff9" title="Host_IO_Receive" alt="" coords="268,208,389,235"/>
196<area shape="rect" id="node7" href="a00155.html#af91dd70fb511444f848db38d965c68c0" title="The interface function to initialize the sensor. " alt="" coords="485,284,647,311"/>
197<area shape="rect" id="node8" href="a00185.html#ad6c175b9a45aa936aa74abda223eeafe" title="Write commands to a sensor. " alt="" coords="249,309,409,336"/>
198</map>
199</div>
200
201</div>
202</div>
203<a id="ac8a60c799d9dbc84531b4680762eb8dc"></a>
204<h2 class="memtitle"><span class="permalink"><a href="#ac8a60c799d9dbc84531b4680762eb8dc">&#9670;&nbsp;</a></span>Register_I2C_Read()</h2>
205
206<div class="memitem">
207<div class="memproto">
208      <table class="memname">
209        <tr>
210          <td class="memname"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> Register_I2C_Read </td>
211          <td>(</td>
212          <td class="paramtype">ARM_DRIVER_I2C *&#160;</td>
213          <td class="paramname"><em>pCommDrv</em>, </td>
214        </tr>
215        <tr>
216          <td class="paramkey"></td>
217          <td></td>
218          <td class="paramtype"><a class="el" href="a03819.html">registerDeviceInfo_t</a> *&#160;</td>
219          <td class="paramname"><em>devInfo</em>, </td>
220        </tr>
221        <tr>
222          <td class="paramkey"></td>
223          <td></td>
224          <td class="paramtype">uint16_t&#160;</td>
225          <td class="paramname"><em>slaveAddress</em>, </td>
226        </tr>
227        <tr>
228          <td class="paramkey"></td>
229          <td></td>
230          <td class="paramtype">uint8_t&#160;</td>
231          <td class="paramname"><em>offset</em>, </td>
232        </tr>
233        <tr>
234          <td class="paramkey"></td>
235          <td></td>
236          <td class="paramtype">uint8_t&#160;</td>
237          <td class="paramname"><em>length</em>, </td>
238        </tr>
239        <tr>
240          <td class="paramkey"></td>
241          <td></td>
242          <td class="paramtype">uint8_t *&#160;</td>
243          <td class="paramname"><em>pOutBuffer</em>&#160;</td>
244        </tr>
245        <tr>
246          <td></td>
247          <td>)</td>
248          <td></td><td></td>
249        </tr>
250      </table>
251</div><div class="memdoc">
252
253<p>The interface function to read a sensor register. </p>
254<p>The interface function to read a sensor register. </p>
255<p>Read and update the value. </p>
256
257<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00310">310</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
258
259<p class="reference">References <a class="el" href="a00167_source.html#l00031">b_I2C_CompletionFlag</a>, <a class="el" href="a00179_source.html#l00106">registerDeviceInfo_t::deviceInstance</a>, <a class="el" href="a00179_source.html#l00105">registerDeviceInfo_t::functionParam</a>, <a class="el" href="a00167_source.html#l00032">g_I2C_ErrorEvent</a>, <a class="el" href="a00179_source.html#l00104">registerDeviceInfo_t::idleFunction</a>, <a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t()</a>, and <a class="el" href="a00359_source.html#l00248">status</a>.</p>
260
261<p class="reference">Referenced by <a class="el" href="a00542_source.html#l00805">ADS_DetectShield()</a>, <a class="el" href="a00542_source.html#l00665">ADS_MMA9553Query()</a>, <a class="el" href="a00020_source.html#l00021">DBAP_I2C_Initialize()</a>, <a class="el" href="a00029_source.html#l00228">FXAS21002_I2C_Initialize()</a>, <a class="el" href="a00803_source.html#l00114">FXLS8471Q_Init()</a>, <a class="el" href="a00056_source.html#l00240">FXLS8962_I2C_Initialize()</a>, <a class="el" href="a00065_source.html#l00239">FXLS896x_I2C_Initialize()</a>, <a class="el" href="a00074_source.html#l00239">FXLS8974_I2C_Initialize()</a>, <a class="el" href="a00083_source.html#l00222">FXOS8700_I2C_Initialize()</a>, <a class="el" href="a00812_source.html#l00130">FXOS8700_Init()</a>, <a class="el" href="a00092_source.html#l00022">FXPQ3115_I2C_Initialize()</a>, <a class="el" href="a00098_source.html#l00207">Host_IO_Receive()</a>, <a class="el" href="a00107_source.html#l00021">ISL29023_I2C_Initialize()</a>, <a class="el" href="a00116_source.html#l00022">MAG3110_I2C_Initialize()</a>, <a class="el" href="a00821_source.html#l00082">MAG3110_Init()</a>, <a class="el" href="a00125_source.html#l00022">MMA845x_I2C_Initialize()</a>, <a class="el" href="a00134_source.html#l00022">MMA8491Q_I2C_Initialize()</a>, <a class="el" href="a00143_source.html#l00022">MMA865x_I2C_Initialize()</a>, <a class="el" href="a00152_source.html#l00422">MMA9553_I2C_Configure()</a>, <a class="el" href="a00152_source.html#l00369">MMA9553_I2C_Initialize()</a>, <a class="el" href="a00161_source.html#l00022">MPL3115_I2C_Initialize()</a>, <a class="el" href="a00182_source.html#l00024">Sensor_I2C_BlockWrite()</a>, and <a class="el" href="a00182_source.html#l00105">Sensor_I2C_Read()</a>.</p>
262<div class="dynheader">
263Here is the call graph for this function:</div>
264<div class="dyncontent">
265<div class="center"><img src="a00167_ac8a60c799d9dbc84531b4680762eb8dc_cgraph.png" border="0" usemap="#a00167_ac8a60c799d9dbc84531b4680762eb8dc_cgraph" alt=""/></div>
266<map name="a00167_ac8a60c799d9dbc84531b4680762eb8dc_cgraph" id="a00167_ac8a60c799d9dbc84531b4680762eb8dc_cgraph">
267<area shape="rect" id="node2" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f" title="The interface function to append the data on the formated stream. " alt="" coords="187,5,248,32"/>
268</map>
269</div>
270<div class="dynheader">
271Here is the caller graph for this function:</div>
272<div class="dyncontent">
273<div class="center"><img src="a00167_ac8a60c799d9dbc84531b4680762eb8dc_icgraph.png" border="0" usemap="#a00167_ac8a60c799d9dbc84531b4680762eb8dc_icgraph" alt=""/></div>
274<map name="a00167_ac8a60c799d9dbc84531b4680762eb8dc_icgraph" id="a00167_ac8a60c799d9dbc84531b4680762eb8dc_icgraph">
275<area shape="rect" id="node2" href="a00542.html#a01f30c94c49eadb65cc176f79209e84c" title="ADS_DetectShield" alt="" coords="424,31,555,57"/>
276<area shape="rect" id="node3" href="a00542.html#a61f59d3254fb54c57b010f2f9f8a7499" title="ADS_MMA9553Query" alt="" coords="197,5,347,32"/>
277<area shape="rect" id="node4" href="a00023.html#a323da7d733afd26537b253eb88b03ddd" title="The interface function to initialize the sensor. " alt="" coords="203,107,341,133"/>
278<area shape="rect" id="node5" href="a00032.html#a7f37a7feae5b901922063add1aba3bff" title="The interface function to initialize the sensor. " alt="" coords="187,157,357,184"/>
279<area shape="rect" id="node6" href="a00842.html#a7c8424e014e2bdbb1dd61fcb4731857b" title="FXLS8471Q_Init" alt="" coords="215,208,329,235"/>
280<area shape="rect" id="node7" href="a00059.html#a91b0ee8a68669c81867a70743423e892" title="The interface function to initialize the sensor. " alt="" coords="191,259,353,285"/>
281<area shape="rect" id="node8" href="a00068.html#a4f4c50e9d863b2ad44f381a89107f315" title="The interface function to initialize the sensor. " alt="" coords="191,309,353,336"/>
282<area shape="rect" id="node9" href="a00077.html#add0ade6f75e1162aa5e475d3af7dd50b" title="The interface function to initialize the sensor. " alt="" coords="191,360,353,387"/>
283<area shape="rect" id="node10" href="a00086.html#a17953ccee62fbd698318197b109b9e9f" title="The interface function to initialize the sensor. " alt="" coords="190,411,354,437"/>
284<area shape="rect" id="node11" href="a00842.html#ac61bf451efc3a4eab179dbc59268b3e7" title="FXOS8700_Init" alt="" coords="435,689,543,716"/>
285<area shape="rect" id="node12" href="a00095.html#adc40ddb8a9c7c0a986035679f04541c7" title="The interface function to initialize the sensor. " alt="" coords="190,512,354,539"/>
286<area shape="rect" id="node13" href="a00101.html#a3924d21a0703878695ebdb68f720fff9" title="Host_IO_Receive" alt="" coords="211,563,333,589"/>
287<area shape="rect" id="node14" href="a00110.html#a0a00346af6811d0cc28de254c2d5db93" title="The interface function to initialize the sensor. " alt="" coords="194,613,350,640"/>
288<area shape="rect" id="node15" href="a00119.html#a578b46ebf521f9d389bdc8f68904ed2e" title="The interface function to initialize the sensor. " alt="" coords="192,664,352,691"/>
289<area shape="rect" id="node16" href="a00842.html#a20b118514f14ce008825433f72527ecd" title="MAG3110_Init" alt="" coords="220,715,324,741"/>
290<area shape="rect" id="node17" href="a00128.html#ab20ae3194496799d223410bf45bc210b" title="The interface function to initialize the sensor. " alt="" coords="191,765,353,792"/>
291<area shape="rect" id="node18" href="a00137.html#a139416bfb5a05d907f47700d0dfa73bd" title="The interface function to initialize the sensor. " alt="" coords="187,816,357,843"/>
292<area shape="rect" id="node19" href="a00146.html#a088d55c83170dc62e31a430bbeac84fe" title="The interface function to initialize the sensor. " alt="" coords="191,867,353,893"/>
293<area shape="rect" id="node20" href="a00155.html#a98085b8d1389e48df874d4115f7ee2ac" title="The interface function to configure he sensor. " alt="" coords="405,1007,573,1033"/>
294<area shape="rect" id="node21" href="a00155.html#af91dd70fb511444f848db38d965c68c0" title="The interface function to initialize the sensor. " alt="" coords="409,1095,570,1121"/>
295<area shape="rect" id="node22" href="a00164.html#ae2d3772491a3b10c71ff529382d9a2d2" title="The interface function to initialize the sensor. " alt="" coords="193,1019,351,1045"/>
296<area shape="rect" id="node23" href="a00185.html#ad6c175b9a45aa936aa74abda223eeafe" title="Write commands to a sensor. " alt="" coords="192,1069,352,1096"/>
297<area shape="rect" id="node24" href="a00185.html#aa75349faed7c77807cb88d9224aa2636" title="Read register data from a sensor. " alt="" coords="209,461,335,488"/>
298</map>
299</div>
300
301</div>
302</div>
303<a id="ad08d2c7880bc5f09fd27eee247311448"></a>
304<h2 class="memtitle"><span class="permalink"><a href="#ad08d2c7880bc5f09fd27eee247311448">&#9670;&nbsp;</a></span>Register_I2C_Write()</h2>
305
306<div class="memitem">
307<div class="memproto">
308      <table class="memname">
309        <tr>
310          <td class="memname"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> Register_I2C_Write </td>
311          <td>(</td>
312          <td class="paramtype">ARM_DRIVER_I2C *&#160;</td>
313          <td class="paramname"><em>pCommDrv</em>, </td>
314        </tr>
315        <tr>
316          <td class="paramkey"></td>
317          <td></td>
318          <td class="paramtype"><a class="el" href="a03819.html">registerDeviceInfo_t</a> *&#160;</td>
319          <td class="paramname"><em>devInfo</em>, </td>
320        </tr>
321        <tr>
322          <td class="paramkey"></td>
323          <td></td>
324          <td class="paramtype">uint16_t&#160;</td>
325          <td class="paramname"><em>slaveAddress</em>, </td>
326        </tr>
327        <tr>
328          <td class="paramkey"></td>
329          <td></td>
330          <td class="paramtype">uint8_t&#160;</td>
331          <td class="paramname"><em>offset</em>, </td>
332        </tr>
333        <tr>
334          <td class="paramkey"></td>
335          <td></td>
336          <td class="paramtype">uint8_t&#160;</td>
337          <td class="paramname"><em>value</em>, </td>
338        </tr>
339        <tr>
340          <td class="paramkey"></td>
341          <td></td>
342          <td class="paramtype">uint8_t&#160;</td>
343          <td class="paramname"><em>mask</em>, </td>
344        </tr>
345        <tr>
346          <td class="paramkey"></td>
347          <td></td>
348          <td class="paramtype">bool&#160;</td>
349          <td class="paramname"><em>repeatedStart</em>&#160;</td>
350        </tr>
351        <tr>
352          <td></td>
353          <td>)</td>
354          <td></td><td></td>
355        </tr>
356      </table>
357</div><div class="memdoc">
358
359<p>The interface function to write a sensor register. </p>
360<p>The interface function to write a sensor register. </p>
361<p>Set the register based on the values in the register value pair configuration.</p>
362<p>Send the register address to read from.</p>
363<p>Read the value.</p>
364<p>'OR' in the requested values to the current contents of the register</p>
365<p>Overwrite the register with specified value.</p>
366<p>Write the updated value. </p>
367
368<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00193">193</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
369
370<p class="reference">References <a class="el" href="a00167_source.html#l00031">b_I2C_CompletionFlag</a>, <a class="el" href="a00179_source.html#l00106">registerDeviceInfo_t::deviceInstance</a>, <a class="el" href="a00179_source.html#l00105">registerDeviceInfo_t::functionParam</a>, <a class="el" href="a00167_source.html#l00032">g_I2C_ErrorEvent</a>, <a class="el" href="a00179_source.html#l00104">registerDeviceInfo_t::idleFunction</a>, <a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t()</a>, and <a class="el" href="a00359_source.html#l00248">status</a>.</p>
371
372<p class="reference">Referenced by <a class="el" href="a00029_source.html#l00267">FXAS21002_I2C_Configure()</a>, <a class="el" href="a00029_source.html#l00341">FXAS21002_I2C_Deinit()</a>, <a class="el" href="a00056_source.html#l00286">FXLS8962_I2C_Configure()</a>, <a class="el" href="a00056_source.html#l00360">FXLS8962_I2C_DeInit()</a>, <a class="el" href="a00065_source.html#l00285">FXLS896x_I2C_Configure()</a>, <a class="el" href="a00065_source.html#l00359">FXLS896x_I2C_DeInit()</a>, <a class="el" href="a00074_source.html#l00285">FXLS8974_I2C_Configure()</a>, <a class="el" href="a00074_source.html#l00359">FXLS8974_I2C_DeInit()</a>, <a class="el" href="a00083_source.html#l00260">FXOS8700_I2C_Configure()</a>, <a class="el" href="a00083_source.html#l00334">FXOS8700_I2C_Deinit()</a>, <a class="el" href="a00092_source.html#l00061">FXPQ3115_I2C_Configure()</a>, <a class="el" href="a00092_source.html#l00135">FXPQ3115_I2C_DeInit()</a>, <a class="el" href="a00107_source.html#l00116">ISL29023_I2C_DeInit()</a>, <a class="el" href="a00116_source.html#l00061">MAG3110_I2C_Configure()</a>, <a class="el" href="a00116_source.html#l00133">MAG3110_I2C_DeInit()</a>, <a class="el" href="a00428_source.html#l00378">main()</a>, <a class="el" href="a00125_source.html#l00061">MMA845x_I2C_Configure()</a>, <a class="el" href="a00125_source.html#l00133">MMA845x_I2C_Deinit()</a>, <a class="el" href="a00143_source.html#l00061">MMA865x_I2C_Configure()</a>, <a class="el" href="a00143_source.html#l00135">MMA865x_I2C_DeInit()</a>, <a class="el" href="a00161_source.html#l00061">MPL3115_I2C_Configure()</a>, <a class="el" href="a00161_source.html#l00133">MPL3115_I2C_DeInit()</a>, <a class="el" href="a00338_source.html#l00911">perform_selftest()</a>, and <a class="el" href="a00182_source.html#l00071">Sensor_I2C_Write()</a>.</p>
373<div class="dynheader">
374Here is the call graph for this function:</div>
375<div class="dyncontent">
376<div class="center"><img src="a00167_ad08d2c7880bc5f09fd27eee247311448_cgraph.png" border="0" usemap="#a00167_ad08d2c7880bc5f09fd27eee247311448_cgraph" alt=""/></div>
377<map name="a00167_ad08d2c7880bc5f09fd27eee247311448_cgraph" id="a00167_ad08d2c7880bc5f09fd27eee247311448_cgraph">
378<area shape="rect" id="node2" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f" title="The interface function to append the data on the formated stream. " alt="" coords="188,5,249,32"/>
379</map>
380</div>
381<div class="dynheader">
382Here is the caller graph for this function:</div>
383<div class="dyncontent">
384<div class="center"><img src="a00167_ad08d2c7880bc5f09fd27eee247311448_icgraph.png" border="0" usemap="#a00167_ad08d2c7880bc5f09fd27eee247311448_icgraph" alt=""/></div>
385<map name="a00167_ad08d2c7880bc5f09fd27eee247311448_icgraph" id="a00167_ad08d2c7880bc5f09fd27eee247311448_icgraph">
386<area shape="rect" id="node2" href="a00032.html#abef3b2c3849b49331142f7a6266fde9a" title="The interface function to configure he sensor. " alt="" coords="392,112,569,139"/>
387<area shape="rect" id="node3" href="a00032.html#a8a1d6a2e0e6f3b38de621553409faeab" title="The interface function to De Initialize sensor.. " alt="" coords="188,617,344,644"/>
388<area shape="rect" id="node4" href="a00059.html#a1b62cba67669ae79f5f3c2e5f846a6c7" title="The interface function to configure he sensor. " alt="" coords="397,60,565,87"/>
389<area shape="rect" id="node5" href="a00338.html#adc709b747f2b14694b4fac4fd080f75c" title="Function to perform FXLS896x self test. " alt="" coords="617,35,732,61"/>
390<area shape="rect" id="node6" href="a00059.html#a13160308eebd2dce90198d9f1388ad27" title="The interface function to De Initialize sensor.. " alt="" coords="193,668,339,695"/>
391<area shape="rect" id="node7" href="a00068.html#adc8ae229a44c0a20d100948b37627f55" title="The interface function to configure he sensor. " alt="" coords="397,165,565,192"/>
392<area shape="rect" id="node8" href="a00068.html#a49e7f7cd7bfced26acd32836bfd8e2a9" title="The interface function to De Initialize sensor.. " alt="" coords="193,719,339,745"/>
393<area shape="rect" id="node9" href="a00077.html#a2b3b8d1e5ee7b6431002c387999ed8b9" title="The interface function to configure he sensor. " alt="" coords="397,223,565,249"/>
394<area shape="rect" id="node10" href="a00077.html#af8bfcdd9fde5faa5f85101c4f9fc5d48" title="The interface function to De Initialize sensor.. " alt="" coords="193,769,339,796"/>
395<area shape="rect" id="node11" href="a00086.html#adcb4dbaa31a6b4ccd6031ee6cc97bb66" title="The interface function to configure he sensor. " alt="" coords="395,285,566,312"/>
396<area shape="rect" id="node12" href="a00086.html#a896c2090120ad89a351b7f80c876f4c3" title="The interface function to De Initialize sensor.. " alt="" coords="191,820,341,847"/>
397<area shape="rect" id="node13" href="a00095.html#a02cdde2f932058060c53dc8314e8d03f" title="The interface function to configure he sensor. " alt="" coords="395,361,566,388"/>
398<area shape="rect" id="node14" href="a00095.html#ab898c401d995d37ccbc8be97131e0097" title="The interface function to De Initialize sensor.. " alt="" coords="191,871,341,897"/>
399<area shape="rect" id="node15" href="a00110.html#a0f976578dc6fcb91186ecbbae243681c" title="The interface function to De Initialize sensor.. " alt="" coords="195,921,337,948"/>
400<area shape="rect" id="node16" href="a00119.html#a2de85bf13cfe26dbc0ca9be7f4625cba" title="The interface function to configure he sensor. " alt="" coords="397,413,564,440"/>
401<area shape="rect" id="node17" href="a00119.html#af4f06a390266db7f33a22ee8a04e510a" title="The interface function to De Initialize sensor.. " alt="" coords="193,972,339,999"/>
402<area shape="rect" id="node18" href="a00428.html#a840291bc02cba5474a4cb46a9b9566fe" title="Main function. " alt="" coords="241,1023,291,1049"/>
403<area shape="rect" id="node19" href="a00128.html#a6c537b63c09b23480c1a3d6ef6e29fef" title="The interface function to configure he sensor. " alt="" coords="397,465,565,492"/>
404<area shape="rect" id="node20" href="a00128.html#aa6e01fe35fe4ec4f9795338bb2f127e9" title="The interface function to De Initialize sensor.. " alt="" coords="193,1073,339,1100"/>
405<area shape="rect" id="node21" href="a00146.html#a5944d87d922a1bdbbf5f2574acc1e143" title="The interface function to configure he sensor. " alt="" coords="397,516,565,543"/>
406<area shape="rect" id="node22" href="a00146.html#a4deef976b1d013420ddec7c627fb43ce" title="The interface function to De Initialize sensor.. " alt="" coords="193,1124,339,1151"/>
407<area shape="rect" id="node23" href="a00164.html#a8dce7c0e6c9d7ef6cf9c6c2fd3c093ae" title="The interface function to configure he sensor. " alt="" coords="399,567,563,593"/>
408<area shape="rect" id="node24" href="a00164.html#a57d98d2cdcc4e6ca85b6efc8f863ce9f" title="The interface function to De Initialize sensor.. " alt="" coords="195,1175,337,1201"/>
409<area shape="rect" id="node25" href="a00185.html#aaac4c4f34b4dd37d3f202a1dbb4b000b" title="Write register data to a sensor. " alt="" coords="203,313,329,340"/>
410</map>
411</div>
412
413</div>
414</div>
415<h2 class="groupheader">Variable Documentation</h2>
416<a id="a48becdc9f7e835f9e9c6758834c06688"></a>
417<h2 class="memtitle"><span class="permalink"><a href="#a48becdc9f7e835f9e9c6758834c06688">&#9670;&nbsp;</a></span>b_I2C_CompletionFlag</h2>
418
419<div class="memitem">
420<div class="memproto">
421      <table class="memname">
422        <tr>
423          <td class="memname">volatile bool b_I2C_CompletionFlag[<a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>] = {<a class="el" href="a00914.html#a65e9886d74aaee76545e83dd09011727">false</a>}</td>
424        </tr>
425      </table>
426</div><div class="memdoc">
427
428<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00031">31</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
429
430<p class="reference">Referenced by <a class="el" href="a00167_source.html#l00149">Register_I2C_BlockWrite()</a>, <a class="el" href="a00167_source.html#l00310">Register_I2C_Read()</a>, and <a class="el" href="a00167_source.html#l00193">Register_I2C_Write()</a>.</p>
431
432</div>
433</div>
434<a id="ac881756727bcc128da3a87e654dd0d01"></a>
435<h2 class="memtitle"><span class="permalink"><a href="#ac881756727bcc128da3a87e654dd0d01">&#9670;&nbsp;</a></span>g_I2C_ErrorEvent</h2>
436
437<div class="memitem">
438<div class="memproto">
439      <table class="memname">
440        <tr>
441          <td class="memname">volatile uint32_t g_I2C_ErrorEvent[<a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>] = {ARM_I2C_EVENT_TRANSFER_DONE}</td>
442        </tr>
443      </table>
444</div><div class="memdoc">
445
446<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00032">32</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
447
448<p class="reference">Referenced by <a class="el" href="a00167_source.html#l00149">Register_I2C_BlockWrite()</a>, <a class="el" href="a00167_source.html#l00310">Register_I2C_Read()</a>, and <a class="el" href="a00167_source.html#l00193">Register_I2C_Write()</a>.</p>
449
450</div>
451</div>
452<a id="a9b0df6c67dc20a02b95210d627ee6338"></a>
453<h2 class="memtitle"><span class="permalink"><a href="#a9b0df6c67dc20a02b95210d627ee6338">&#9670;&nbsp;</a></span>i2cBases</h2>
454
455<div class="memitem">
456<div class="memproto">
457      <table class="memname">
458        <tr>
459          <td class="memname"><a class="el" href="a00758.html#aaf4433adb76728ab4fef92f284690e2f">I2C_Type</a>* const i2cBases[] = <a class="el" href="a00758.html#aee17f364d6d1712b62774e6c33dea554">I2C_BASE_PTRS</a></td>
460        </tr>
461      </table>
462</div><div class="memdoc">
463
464<p class="definition">Definition at line <a class="el" href="a00167_source.html#l00030">30</a> of file <a class="el" href="a00167_source.html">register_io_i2c.c</a>.</p>
465
466</div>
467</div>
468</div><!-- contents -->
469
470<hr class="footer"/><address class="footer"><small>
471&copy; Copyright 2016-2022 NXP. All Rights Reserved. SPDX-License-Identifier: BSD-3-Clause
472</small></address>
473</body>
474</html>
475