Files
KSDK_2.0_MK22FN512xxx12/docs/Kinetis SDK v.2.0 API Reference Manual/group__flexio__camera.html
2016-08-09 18:06:35 +02:00

852 lines
54 KiB
HTML

<!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.6"/>
<title>Kinetis SDK v.2.0 API Reference Manual: FlexIO Camera Driver</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="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</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('group__flexio__camera.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">FlexIO Camera Driver<div class="ingroups"><a class="el" href="group__flexio.html">FlexIO: FlexIO Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The KSDK provides driver for the camera function using Flexible I/O.</p>
<h1><a class="anchor" id="FLEXIO_CAMERAOvw"></a>
Overview</h1>
<p>FlexIO CAMERA driver includes 2 parts: functional APIs and EDMA transactional APIs. Functional APIs are feature/property target low level APIs. User can use functional APIs for FLEXIO CAMERA initialization/configuration/operation purpose. Using the functional API require user get knowledge of the FLEXIO CAMERA peripheral and know how to organize functional APIs to meet the requirement of application. All functional API use the <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> * as the first parameter. FLEXIO CAMERA functional operation groups provide the functional APIs set.</p>
<p>EDMA transactional APIs are transaction target high level APIs. User can use the transactional API to enable the peripheral quickly and can also use in the application if the code size and performance of transactional APIs can satisfy requirement. If the code size and performance are critical requirement, user can refer to the transactional API implementation and write their own code. All transactional APIs use the flexio_camera_edma_handle_t as the second parameter and user need to initialize the handle by calling <a class="el" href="group__flexio__edma__camera.html#gafcfbdd57ed04df3dc16ef839c1b94b36" title="Initializes the camera handle, which is used in transactional functions. ">FLEXIO_CAMERA_TransferCreateHandleEDMA()</a> API.</p>
<p>EDMA transactional APIs support asynchronized receive. It means, the functions <a class="el" href="group__flexio__edma__camera.html#ga0d33545dd2a68785b201ab14903cd93f" title="Receives data using eDMA. ">FLEXIO_CAMERA_TransferReceiveEDMA()</a> setup interrupt for data receive, when the receive complete, upper layer is notified through callback function with status kStatus_FLEXIO_CAMERA_RxIdle.</p>
<h1><a class="anchor" id="FLEXIO_CAMERACase"></a>
Typical use case</h1>
<h2><a class="anchor" id="CAMERACasePolling"></a>
FLEXIO CAMERA Receive in EDMA way</h2>
<div class="fragment"><div class="line"><span class="keyword">volatile</span> uint32_t isEDMAGetOnePictureFinish = <span class="keyword">false</span>;</div>
<div class="line"><a class="code" href="group__edma__driver.html#structedma__handle__t">edma_handle_t</a> g_edmaHandle;</div>
<div class="line">flexio_camera_edma_handle_t g_cameraEdmaHandle;</div>
<div class="line"><a class="code" href="group__edma__driver.html#structedma__config__t">edma_config_t</a> edmaConfig;</div>
<div class="line"><a class="code" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> g_FlexioCameraDevice = {.<a class="code" href="group__flexio__camera.html#ae0f8a4522f24e49f4b07d817cd83bc9d">flexioBase</a> = FLEXIO0,</div>
<div class="line"> .datPinStartIdx = 24U, <span class="comment">/* fxio_pin 24 -31 are used. </span></div>
<div class="line"><span class="comment"> .pclkPinIdx = 1U, /* fxio_pin 1 is used as pclk pin. </span></div>
<div class="line"><span class="comment"> .hrefPinIdx = 18U, /* flexio_pin 18 is used as href pin. </span></div>
<div class="line"><span class="comment"> .shifterStartIdx = 0U, /* Shifter 0 = 7 are used. </span></div>
<div class="line"><span class="comment"> .shifterCount = 8U,</span></div>
<div class="line"><span class="comment"> .timerIdx = 0U};</span></div>
<div class="line"><span class="comment">flexio_camera_config_t cameraConfig;</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/* Configure DMAMUX </span></div>
<div class="line"><span class="comment">DMAMUX_Init(DMAMUX0);</span></div>
<div class="line"><span class="comment">/* Configure DMA </span></div>
<div class="line"><span class="comment">EDMA_GetDefaultConfig(&amp;edmaConfig);</span></div>
<div class="line"><span class="comment">EDMA_Init(DMA0, &amp;edmaConfig);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">DMAMUX_SetSource(DMAMUX0, DMA_CHN_FLEXIO_TO_FRAMEBUFF, (g_FlexioCameraDevice.shifterStartIdx + 1U));</span></div>
<div class="line"><span class="comment">DMAMUX_EnableChannel(DMAMUX0, DMA_CHN_FLEXIO_TO_FRAMEBUFF);</span></div>
<div class="line"><span class="comment">EDMA_CreateHandle(&amp;g_edmaHandle, DMA0, DMA_CHN_FLEXIO_TO_FRAMEBUFF);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">FLEXIO_CAMERA_GetDefaultConfig(&amp;cameraConfig);</span></div>
<div class="line"><span class="comment">FLEXIO_CAMERA_Init(&amp;g_FlexioCameraDevice, &amp;cameraConfig);</span></div>
<div class="line"><span class="comment">/* Clear all the flag. </span></div>
<div class="line"><span class="comment">FLEXIO_CAMERA_ClearStatusFlags(&amp;g_FlexioCameraDevice,</span></div>
<div class="line"><span class="comment"> kFLEXIO_CAMERA_RxDataRegFullFlag | kFLEXIO_CAMERA_RxErrorFlag);</span></div>
<div class="line"><span class="comment">FLEXIO_ClearTimerStatusFlags(FLEXIO0, 0xFF);</span></div>
<div class="line"><span class="comment">FLEXIO_CAMERA_TransferCreateHandleEDMA(&amp;g_FlexioCameraDevice, &amp;g_cameraEdmaHandle, FLEXIO_CAMERA_UserCallback, NULL,</span></div>
<div class="line"><span class="comment"> &amp;g_edmaHandle);</span></div>
<div class="line"><span class="comment">cameraTransfer.dataAddress = (uint32_t)u16CameraFrameBuffer;</span></div>
<div class="line"><span class="comment">cameraTransfer.dataNum = sizeof(u16CameraFrameBuffer);</span></div>
<div class="line"><span class="comment">FLEXIO_CAMERA_TransferReceiveEDMA(&amp;g_FlexioCameraDevice, &amp;g_cameraEdmaHandle, &amp;cameraTransfer);</span></div>
<div class="line"><span class="comment">while (!(isEDMAGetOnePictureFinish))</span></div>
<div class="line"><span class="comment">{</span></div>
<div class="line"><span class="comment"> ;</span></div>
<div class="line"><span class="comment">}</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/* A callback function is also needed </span></div>
<div class="line"><span class="comment">void FLEXIO_CAMERA_UserCallback(FLEXIO_CAMERA_Type *base,</span></div>
<div class="line"><span class="comment"> flexio_camera_edma_handle_t *handle,</span></div>
<div class="line"><span class="comment"> status_t status,</span></div>
<div class="line"><span class="comment"> void *userData)</span></div>
<div class="line"><span class="comment">{</span></div>
<div class="line"><span class="comment"> userData = userData;</span></div>
<div class="line"><span class="comment"> /* EDMA Transfer finished </span></div>
<div class="line"><span class="comment"> if (kStatus_FLEXIO_CAMERA_RxIdle == status)</span></div>
<div class="line"><span class="comment"> {</span></div>
<div class="line"><span class="comment"> isEDMAGetOnePictureFinish = true;</span></div>
<div class="line"><span class="comment"> }</span></div>
<div class="line"><span class="comment">}</span></div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__flexio__edma__camera"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__edma__camera.html">FlexIO eDMA Camera Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:fsl__flexio__camera_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__flexio__camera_8h.html">fsl_flexio_camera.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structFLEXIO__CAMERA__Type"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a></td></tr>
<tr class="memdesc:structFLEXIO__CAMERA__Type"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define structure of configuring the FlexIO camera device. <a href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">More...</a><br/></td></tr>
<tr class="separator:structFLEXIO__CAMERA__Type"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflexio__camera__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a></td></tr>
<tr class="memdesc:structflexio__camera__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FLEXIO camera user configuration structure. <a href="group__flexio__camera.html#structflexio__camera__config__t">More...</a><br/></td></tr>
<tr class="separator:structflexio__camera__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflexio__camera__transfer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#structflexio__camera__transfer__t">flexio_camera_transfer_t</a></td></tr>
<tr class="memdesc:structflexio__camera__transfer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FLEXIO CAMERA transfer structure. <a href="group__flexio__camera.html#structflexio__camera__transfer__t">More...</a><br/></td></tr>
<tr class="separator:structflexio__camera__transfer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga353a8218bf5dd22032b9055285e2bb49"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga353a8218bf5dd22032b9055285e2bb49">FLEXIO_CAMERA_PARALLEL_DATA_WIDTH</a>&#160;&#160;&#160;(8U)</td></tr>
<tr class="memdesc:ga353a8218bf5dd22032b9055285e2bb49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the camera CPI interface is constantly 8-bit width. <a href="#ga353a8218bf5dd22032b9055285e2bb49">More...</a><br/></td></tr>
<tr class="separator:ga353a8218bf5dd22032b9055285e2bb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga2749695dfe8603564f8520223fa2ace3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga2749695dfe8603564f8520223fa2ace3">_flexio_camera_status</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__camera.html#gga2749695dfe8603564f8520223fa2ace3a68a8386d9dc811f20b4955edc9e456ae">kStatus_FLEXIO_CAMERA_RxBusy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_CAMERA, 0),
<br/>
&#160;&#160;<a class="el" href="group__flexio__camera.html#gga2749695dfe8603564f8520223fa2ace3a1350eedcb89f16d93727f570b63a79b4">kStatus_FLEXIO_CAMERA_RxIdle</a> = MAKE_STATUS(kStatusGroup_FLEXIO_CAMERA, 1)
<br/>
}</td></tr>
<tr class="memdesc:ga2749695dfe8603564f8520223fa2ace3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes for the CAMERA driver. <a href="group__flexio__camera.html#ga2749695dfe8603564f8520223fa2ace3">More...</a><br/></td></tr>
<tr class="separator:ga2749695dfe8603564f8520223fa2ace3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19fc70fddf16fa061eff3de0f46ee888"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga19fc70fddf16fa061eff3de0f46ee888">_flexio_camera_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__camera.html#gga19fc70fddf16fa061eff3de0f46ee888a3d55cd5136d4cbb5ea3ae3372d7b98ef">kFLEXIO_CAMERA_RxDataRegFullFlag</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__camera.html#gga19fc70fddf16fa061eff3de0f46ee888ae360d4782ef1e0ef0e2a03ebe7bd43a2">kFLEXIO_CAMERA_RxErrorFlag</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga19fc70fddf16fa061eff3de0f46ee888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO CAMERA status mask. <a href="group__flexio__camera.html#ga19fc70fddf16fa061eff3de0f46ee888">More...</a><br/></td></tr>
<tr class="separator:ga19fc70fddf16fa061eff3de0f46ee888"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:gaf67f7409d83d5806e8dee459e28ea116"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#gaf67f7409d83d5806e8dee459e28ea116">FSL_FLEXIO_CAMERA_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td></tr>
<tr class="memdesc:gaf67f7409d83d5806e8dee459e28ea116"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO camera driver version 2.1.0. <a href="#gaf67f7409d83d5806e8dee459e28ea116">More...</a><br/></td></tr>
<tr class="separator:gaf67f7409d83d5806e8dee459e28ea116"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialize and configuration</h2></td></tr>
<tr class="memitem:ga673dbe9cee73c1bc18a48d4903ae0d0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga673dbe9cee73c1bc18a48d4903ae0d0f">FLEXIO_CAMERA_Init</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base, const <a class="el" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a> *config)</td></tr>
<tr class="memdesc:ga673dbe9cee73c1bc18a48d4903ae0d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ungates the FlexIO clock, reset the FlexIO module and do FlexIO CAMERA hardware configuration. <a href="#ga673dbe9cee73c1bc18a48d4903ae0d0f">More...</a><br/></td></tr>
<tr class="separator:ga673dbe9cee73c1bc18a48d4903ae0d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b12eeccfdc9ec539b5ffdc09fba62e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga1b12eeccfdc9ec539b5ffdc09fba62e0">FLEXIO_CAMERA_Deinit</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base)</td></tr>
<tr class="memdesc:ga1b12eeccfdc9ec539b5ffdc09fba62e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the FlexIO CAMERA and gate the FlexIO clock. <a href="#ga1b12eeccfdc9ec539b5ffdc09fba62e0">More...</a><br/></td></tr>
<tr class="separator:ga1b12eeccfdc9ec539b5ffdc09fba62e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga802016ccb9ed8299101f66455b85d7db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga802016ccb9ed8299101f66455b85d7db">FLEXIO_CAMERA_GetDefaultConfig</a> (<a class="el" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a> *config)</td></tr>
<tr class="memdesc:ga802016ccb9ed8299101f66455b85d7db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default configuration to configure FLEXIO CAMERA. <a href="#ga802016ccb9ed8299101f66455b85d7db">More...</a><br/></td></tr>
<tr class="separator:ga802016ccb9ed8299101f66455b85d7db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52b2866e7ad0762f97cbdf69078e135e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga52b2866e7ad0762f97cbdf69078e135e">FLEXIO_CAMERA_Enable</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:ga52b2866e7ad0762f97cbdf69078e135e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO CAMERA module operation. <a href="#ga52b2866e7ad0762f97cbdf69078e135e">More...</a><br/></td></tr>
<tr class="separator:ga52b2866e7ad0762f97cbdf69078e135e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:gae01bba01f0d99e23dd82bdeb9c4c37e4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#gae01bba01f0d99e23dd82bdeb9c4c37e4">FLEXIO_CAMERA_GetStatusFlags</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base)</td></tr>
<tr class="memdesc:gae01bba01f0d99e23dd82bdeb9c4c37e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO CAMERA status flags. <a href="#gae01bba01f0d99e23dd82bdeb9c4c37e4">More...</a><br/></td></tr>
<tr class="separator:gae01bba01f0d99e23dd82bdeb9c4c37e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c753515929810195e0dd5da14a46ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga4c753515929810195e0dd5da14a46ef3">FLEXIO_CAMERA_ClearStatusFlags</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga4c753515929810195e0dd5da14a46ef3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the receive buffer full flag manually. <a href="#ga4c753515929810195e0dd5da14a46ef3">More...</a><br/></td></tr>
<tr class="separator:ga4c753515929810195e0dd5da14a46ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:gae11112fd27c1b8f7b7ac4a1a22fc3b57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#gae11112fd27c1b8f7b7ac4a1a22fc3b57">FLEXIO_CAMERA_EnableInterrupt</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base)</td></tr>
<tr class="memdesc:gae11112fd27c1b8f7b7ac4a1a22fc3b57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switches on the interrupt for receive buffer full event. <a href="#gae11112fd27c1b8f7b7ac4a1a22fc3b57">More...</a><br/></td></tr>
<tr class="separator:gae11112fd27c1b8f7b7ac4a1a22fc3b57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74103c49cfe67a9bb882e4646801515d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ga74103c49cfe67a9bb882e4646801515d">FLEXIO_CAMERA_DisableInterrupt</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base)</td></tr>
<tr class="memdesc:ga74103c49cfe67a9bb882e4646801515d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switches off the interrupt for receive buffer full event. <a href="#ga74103c49cfe67a9bb882e4646801515d">More...</a><br/></td></tr>
<tr class="separator:ga74103c49cfe67a9bb882e4646801515d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DMA support</h2></td></tr>
<tr class="memitem:gad32bb2551177c3f21d372fff9cebe4cb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#gad32bb2551177c3f21d372fff9cebe4cb">FLEXIO_CAMERA_EnableRxDMA</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:gad32bb2551177c3f21d372fff9cebe4cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO CAMERA receive DMA. <a href="#gad32bb2551177c3f21d372fff9cebe4cb">More...</a><br/></td></tr>
<tr class="separator:gad32bb2551177c3f21d372fff9cebe4cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadec05a7c9f34ca3d4790c6c54db455dd"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#gadec05a7c9f34ca3d4790c6c54db455dd">FLEXIO_CAMERA_GetRxBufferAddress</a> (<a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *base)</td></tr>
<tr class="memdesc:gadec05a7c9f34ca3d4790c6c54db455dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the data from the receive buffer. <a href="#gadec05a7c9f34ca3d4790c6c54db455dd">More...</a><br/></td></tr>
<tr class="separator:gadec05a7c9f34ca3d4790c6c54db455dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structFLEXIO__CAMERA__Type" id="structFLEXIO__CAMERA__Type"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct FLEXIO_CAMERA_Type</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ae0f8a4522f24e49f4b07d817cd83bc9d"><td class="memItemLeft" align="right" valign="top">FLEXIO_Type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ae0f8a4522f24e49f4b07d817cd83bc9d">flexioBase</a></td></tr>
<tr class="memdesc:ae0f8a4522f24e49f4b07d817cd83bc9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO module base address. <a href="#ae0f8a4522f24e49f4b07d817cd83bc9d">More...</a><br/></td></tr>
<tr class="separator:ae0f8a4522f24e49f4b07d817cd83bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01fbe9a10d4c76d7fc3ee2ed4aeee7ef"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a01fbe9a10d4c76d7fc3ee2ed4aeee7ef">datPinStartIdx</a></td></tr>
<tr class="memdesc:a01fbe9a10d4c76d7fc3ee2ed4aeee7ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">First data pin (D0) index for flexio_camera. <a href="#a01fbe9a10d4c76d7fc3ee2ed4aeee7ef">More...</a><br/></td></tr>
<tr class="separator:a01fbe9a10d4c76d7fc3ee2ed4aeee7ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a392cffe8bdb5aa02a9336246a8f8edad"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a392cffe8bdb5aa02a9336246a8f8edad">pclkPinIdx</a></td></tr>
<tr class="memdesc:a392cffe8bdb5aa02a9336246a8f8edad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel clock pin (PCLK) index for flexio_camera. <a href="#a392cffe8bdb5aa02a9336246a8f8edad">More...</a><br/></td></tr>
<tr class="separator:a392cffe8bdb5aa02a9336246a8f8edad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94080448fa200271bb412af6ac64293d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a94080448fa200271bb412af6ac64293d">hrefPinIdx</a></td></tr>
<tr class="memdesc:a94080448fa200271bb412af6ac64293d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Horizontal sync pin (HREF) index for flexio_camera. <a href="#a94080448fa200271bb412af6ac64293d">More...</a><br/></td></tr>
<tr class="separator:a94080448fa200271bb412af6ac64293d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af554771d59526dae198dbccced67dd3d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#af554771d59526dae198dbccced67dd3d">shifterStartIdx</a></td></tr>
<tr class="memdesc:af554771d59526dae198dbccced67dd3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">First shifter index used for flexio_camera data FIFO. <a href="#af554771d59526dae198dbccced67dd3d">More...</a><br/></td></tr>
<tr class="separator:af554771d59526dae198dbccced67dd3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a474b38582173a400d05349a7495d3a6a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a474b38582173a400d05349a7495d3a6a">shifterCount</a></td></tr>
<tr class="memdesc:a474b38582173a400d05349a7495d3a6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The count of shifters that are used as flexio_camera data FIFO. <a href="#a474b38582173a400d05349a7495d3a6a">More...</a><br/></td></tr>
<tr class="separator:a474b38582173a400d05349a7495d3a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c3f2809f05818a51665af4771c9a3d4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a4c3f2809f05818a51665af4771c9a3d4">timerIdx</a></td></tr>
<tr class="memdesc:a4c3f2809f05818a51665af4771c9a3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer index used for flexio_camera in FlexIO. <a href="#a4c3f2809f05818a51665af4771c9a3d4">More...</a><br/></td></tr>
<tr class="separator:a4c3f2809f05818a51665af4771c9a3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ae0f8a4522f24e49f4b07d817cd83bc9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FLEXIO_Type* FLEXIO_CAMERA_Type::flexioBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a01fbe9a10d4c76d7fc3ee2ed4aeee7ef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::datPinStartIdx</td>
</tr>
</table>
</div><div class="memdoc">
<p>Then the successive following FLEXIO_CAMERA_DATA_WIDTH-1 pins would be used as D1-D7. </p>
</div>
</div>
<a class="anchor" id="a392cffe8bdb5aa02a9336246a8f8edad"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::pclkPinIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a94080448fa200271bb412af6ac64293d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::hrefPinIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af554771d59526dae198dbccced67dd3d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::shifterStartIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a474b38582173a400d05349a7495d3a6a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::shifterCount</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4c3f2809f05818a51665af4771c9a3d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_Type::timerIdx</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structflexio__camera__config__t" id="structflexio__camera__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexio_camera_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:adfc897a69a82f2a3d2cb2593d8839b3a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#adfc897a69a82f2a3d2cb2593d8839b3a">enablecamera</a></td></tr>
<tr class="memdesc:adfc897a69a82f2a3d2cb2593d8839b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FLEXIO camera TX &amp; RX. <a href="#adfc897a69a82f2a3d2cb2593d8839b3a">More...</a><br/></td></tr>
<tr class="separator:adfc897a69a82f2a3d2cb2593d8839b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fad1c192bdc859ff5b756e15355edb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fad1c192bdc859ff5b756e15355edb7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a2fad1c192bdc859ff5b756e15355edb7">enableInDoze</a></td></tr>
<tr class="memdesc:a2fad1c192bdc859ff5b756e15355edb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FLEXIO operation in doze mode. <br/></td></tr>
<tr class="separator:a2fad1c192bdc859ff5b756e15355edb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad860db4158c051e40378d4cec5089dea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad860db4158c051e40378d4cec5089dea"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#ad860db4158c051e40378d4cec5089dea">enableInDebug</a></td></tr>
<tr class="memdesc:ad860db4158c051e40378d4cec5089dea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FLEXIO operation in debug mode. <br/></td></tr>
<tr class="separator:ad860db4158c051e40378d4cec5089dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a32e7ea5ac2898f67d7648fbef7453"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a40a32e7ea5ac2898f67d7648fbef7453">enableFastAccess</a></td></tr>
<tr class="memdesc:a40a32e7ea5ac2898f67d7648fbef7453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable fast access to FLEXIO registers, fast access requires the FLEXIO clock to be at least twice the frequency of the bus clock. <a href="#a40a32e7ea5ac2898f67d7648fbef7453">More...</a><br/></td></tr>
<tr class="separator:a40a32e7ea5ac2898f67d7648fbef7453"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="adfc897a69a82f2a3d2cb2593d8839b3a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_camera_config_t::enablecamera</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a40a32e7ea5ac2898f67d7648fbef7453"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_camera_config_t::enableFastAccess</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structflexio__camera__transfer__t" id="structflexio__camera__transfer__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexio_camera_transfer_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a40d378cf97ac2c5340da1d4322816c19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40d378cf97ac2c5340da1d4322816c19"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a40d378cf97ac2c5340da1d4322816c19">dataAddress</a></td></tr>
<tr class="memdesc:a40d378cf97ac2c5340da1d4322816c19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer buffer. <br/></td></tr>
<tr class="separator:a40d378cf97ac2c5340da1d4322816c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c1d2aa1341117602a1f9c72dd1449bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c1d2aa1341117602a1f9c72dd1449bc"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__camera.html#a9c1d2aa1341117602a1f9c72dd1449bc">dataNum</a></td></tr>
<tr class="memdesc:a9c1d2aa1341117602a1f9c72dd1449bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer num. <br/></td></tr>
<tr class="separator:a9c1d2aa1341117602a1f9c72dd1449bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaf67f7409d83d5806e8dee459e28ea116"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_FLEXIO_CAMERA_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga353a8218bf5dd22032b9055285e2bb49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FLEXIO_CAMERA_PARALLEL_DATA_WIDTH&#160;&#160;&#160;(8U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga2749695dfe8603564f8520223fa2ace3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__camera.html#ga2749695dfe8603564f8520223fa2ace3">_flexio_camera_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga2749695dfe8603564f8520223fa2ace3a68a8386d9dc811f20b4955edc9e456ae"></a>kStatus_FLEXIO_CAMERA_RxBusy</em>&#160;</td><td class="fielddoc">
<p>Receiver is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2749695dfe8603564f8520223fa2ace3a1350eedcb89f16d93727f570b63a79b4"></a>kStatus_FLEXIO_CAMERA_RxIdle</em>&#160;</td><td class="fielddoc">
<p>CAMERA receiver is idle. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga19fc70fddf16fa061eff3de0f46ee888"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__camera.html#ga19fc70fddf16fa061eff3de0f46ee888">_flexio_camera_status_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga19fc70fddf16fa061eff3de0f46ee888a3d55cd5136d4cbb5ea3ae3372d7b98ef"></a>kFLEXIO_CAMERA_RxDataRegFullFlag</em>&#160;</td><td class="fielddoc">
<p>Receive buffer full flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fc70fddf16fa061eff3de0f46ee888ae360d4782ef1e0ef0e2a03ebe7bd43a2"></a>kFLEXIO_CAMERA_RxErrorFlag</em>&#160;</td><td class="fielddoc">
<p>Receive buffer error flag. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga673dbe9cee73c1bc18a48d4903ae0d0f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> structure </td></tr>
<tr><td class="paramname">config</td><td>pointer to <a class="el" href="group__flexio__camera.html#structflexio__camera__config__t" title="Define FLEXIO camera user configuration structure. ">flexio_camera_config_t</a> structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1b12eeccfdc9ec539b5ffdc09fba62e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>After calling this API, user need to call FLEXO_CAMERA_Init to use the FlexIO CAMERA module.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga802016ccb9ed8299101f66455b85d7db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration could be used directly for calling <a class="el" href="group__flexio__camera.html#ga673dbe9cee73c1bc18a48d4903ae0d0f" title="Ungates the FlexIO clock, reset the FlexIO module and do FlexIO CAMERA hardware configuration. ">FLEXIO_CAMERA_Init()</a>. Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__flexio__camera.html#structflexio__camera__config__t">flexio_camera_config_t</a> config;</div>
<div class="line"><a class="code" href="group__flexio__camera.html#ga802016ccb9ed8299101f66455b85d7db">FLEXIO_CAMERA_GetDefaultConfig</a>(&amp;userConfig);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>pointer to <a class="el" href="group__flexio__camera.html#structflexio__camera__config__t" title="Define FLEXIO camera user configuration structure. ">flexio_camera_config_t</a> structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga52b2866e7ad0762f97cbdf69078e135e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_CAMERA_Enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae01bba01f0d99e23dd82bdeb9c4c37e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_CAMERA_GetStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> structure </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO shifter status flags <ul>
<li>FLEXIO_SHIFTSTAT_SSF_MASK </li>
<li>0 </li>
</ul>
</dd></dl>
</div>
</div>
<a class="anchor" id="ga4c753515929810195e0dd5da14a46ef3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to the device. </td></tr>
<tr><td class="paramname">mask</td><td>status flag The parameter could be any combination of the following values: <ul>
<li>kFLEXIO_CAMERA_RxDataRegFullFlag </li>
<li>kFLEXIO_CAMERA_RxErrorFlag </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae11112fd27c1b8f7b7ac4a1a22fc3b57"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_EnableInterrupt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to the device. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga74103c49cfe67a9bb882e4646801515d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_CAMERA_DisableInterrupt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to the device. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad32bb2551177c3f21d372fff9cebe4cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_CAMERA_EnableRxDMA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type" title="Define structure of configuring the FlexIO camera device. ">FLEXIO_CAMERA_Type</a> structure </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false to disable.</td></tr>
</table>
</dd>
</dl>
<p>The FlexIO camera mode can't work without the DMA or EDMA support, Usually, it needs at least two DMA or EDMA channel, one for transferring data from camera, such as 0V7670 to FlexIO buffer, another is for transferring data from FlexIO buffer to LCD. </p>
</div>
</div>
<a class="anchor" id="gadec05a7c9f34ca3d4790c6c54db455dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_CAMERA_GetRxBufferAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__camera.html#structFLEXIO__CAMERA__Type">FLEXIO_CAMERA_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to the device. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>data pointer to the buffer that would keep the data with count of base-&gt;shifterCount . </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>