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  <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> | 49<a href="#func-members">Functions</a> | 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 <string.h></code><br /> 59<code>#include "issdk_hal.h"</code><br /> 60<code>#include "<a class="el" href="a00170_source.html">register_io_i2c.h</a>"</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-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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#a9dd9072626cd21a707b11d41ee4d3305">I2C_COUNT</a>   (sizeof(<a class="el" href="a00167.html#a9b0df6c67dc20a02b95210d627ee6338">i2cBases</a>) / sizeof(void *))</td></tr> 75<tr class="separator:a9dd9072626cd21a707b11d41ee4d3305"><td class="memSeparator" colspan="2"> </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> </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"> </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"> </td></tr> 82<tr class="memitem:ad08d2c7880bc5f09fd27eee247311448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> </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"> </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"> </td></tr> 85<tr class="memitem:ac8a60c799d9dbc84531b4680762eb8dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00521.html#a5d7069350a7d7e65686c77a8038f462f">int32_t</a> </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"> </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"> </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 </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"> </td></tr> 93<tr class="memitem:a48becdc9f7e835f9e9c6758834c06688"><td class="memItemLeft" align="right" valign="top">volatile bool </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"> </td></tr> 95<tr class="memitem:ac881756727bcc128da3a87e654dd0d01"><td class="memItemLeft" align="right" valign="top">volatile uint32_t </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"> </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">◆ </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   (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">◆ </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 * </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> * </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 </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 </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 * </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 </td> 160 <td class="paramname"><em>bytesToWrite</em> </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">◆ </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 * </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> * </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 </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 </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 </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 * </td> 243 <td class="paramname"><em>pOutBuffer</em> </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">◆ </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 * </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> * </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 </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 </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 </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 </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 </td> 349 <td class="paramname"><em>repeatedStart</em> </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">◆ </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">◆ </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">◆ </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© Copyright 2016-2022 NXP. All Rights Reserved. SPDX-License-Identifier: BSD-3-Clause 472</small></address> 473</body> 474</html> 475