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

554 lines
36 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: Smart Card FreeRTOS 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__smartcard__freertos__driver.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="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Smart Card FreeRTOS Driver<div class="ingroups"><a class="el" href="group__smartcard.html">Smart Card</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<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:structrtos__smartcard__context__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a></td></tr>
<tr class="memdesc:structrtos__smartcard__context__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime RTOS smart card driver context. <a href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">More...</a><br/></td></tr>
<tr class="separator:structrtos__smartcard__context__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:ga08bc16c604bfec06f4f7a3d0fe044aec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08bc16c604bfec06f4f7a3d0fe044aec"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga08bc16c604bfec06f4f7a3d0fe044aec">RTOS_SMARTCARD_COMPLETE</a>&#160;&#160;&#160;0x1u</td></tr>
<tr class="memdesc:ga08bc16c604bfec06f4f7a3d0fe044aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">smart card RTOS transfer complete flag <br/></td></tr>
<tr class="separator:ga08bc16c604bfec06f4f7a3d0fe044aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2acc3aca7dd2db0472b3cd0751cc8a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf2acc3aca7dd2db0472b3cd0751cc8a2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gaf2acc3aca7dd2db0472b3cd0751cc8a2">RTOS_SMARTCARD_TIMEOUT</a>&#160;&#160;&#160;0x2u</td></tr>
<tr class="memdesc:gaf2acc3aca7dd2db0472b3cd0751cc8a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">smart card RTOS transfer time-out flag <br/></td></tr>
<tr class="separator:gaf2acc3aca7dd2db0472b3cd0751cc8a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf026da01efdd87042a0489a5f03e70a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gaf026da01efdd87042a0489a5f03e70a1">SMARTCARD_Control</a>(base, context, control, param)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga2627ac127c8229416e6e269667b19529">SMARTCARD_UART_Control</a>(base, context, control, 0)</td></tr>
<tr class="memdesc:gaf026da01efdd87042a0489a5f03e70a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card driver API defines. <a href="#gaf026da01efdd87042a0489a5f03e70a1">More...</a><br/></td></tr>
<tr class="separator:gaf026da01efdd87042a0489a5f03e70a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34f80acc7d20a4b4d9513e8399386022"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga34f80acc7d20a4b4d9513e8399386022"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga34f80acc7d20a4b4d9513e8399386022">SMARTCARD_Transfer</a>(base, context, xfer)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga9c4804fce250869bfafc99f936783cb5">SMARTCARD_UART_TransferNonBlocking</a>(base, context, xfer)</td></tr>
<tr class="memdesc:ga34f80acc7d20a4b4d9513e8399386022"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card API macro. <br/></td></tr>
<tr class="separator:ga34f80acc7d20a4b4d9513e8399386022"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0af0622d2eed93e0622a0a0ba39dc815"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0af0622d2eed93e0622a0a0ba39dc815"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga0af0622d2eed93e0622a0a0ba39dc815">SMARTCARD_Init</a>(base, context, sourceClockHz)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga8e1818998bfac8fc753ffd4c3a2250dd">SMARTCARD_UART_Init</a>(base, context, sourceClockHz)</td></tr>
<tr class="memdesc:ga0af0622d2eed93e0622a0a0ba39dc815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card API macro. <br/></td></tr>
<tr class="separator:ga0af0622d2eed93e0622a0a0ba39dc815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad14de1f303b11bc0922e0e6eb0d17039"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad14de1f303b11bc0922e0e6eb0d17039"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gad14de1f303b11bc0922e0e6eb0d17039">SMARTCARD_Deinit</a>(base)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#gab5f388c158f882b31265dbafd1879427">SMARTCARD_UART_Deinit</a>(base)</td></tr>
<tr class="memdesc:gad14de1f303b11bc0922e0e6eb0d17039"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card API macro. <br/></td></tr>
<tr class="separator:gad14de1f303b11bc0922e0e6eb0d17039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac692282daea89e6a39ff254ea778c5e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac692282daea89e6a39ff254ea778c5e3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gac692282daea89e6a39ff254ea778c5e3">SMARTCARD_GetTransferRemainingBytes</a>(base, context)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga5bdd3e03494cb34c1ddebea73efc2d85">SMARTCARD_UART_GetTransferRemainingBytes</a>(base, context)</td></tr>
<tr class="memdesc:gac692282daea89e6a39ff254ea778c5e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card API macro. <br/></td></tr>
<tr class="separator:gac692282daea89e6a39ff254ea778c5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6b1ee454377d17cf29064efb3fc7456"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6b1ee454377d17cf29064efb3fc7456"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gaf6b1ee454377d17cf29064efb3fc7456">SMARTCARD_GetDefaultConfig</a>(cardParams)&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga7d420a8c58ab3f2f2693892c12c37625">SMARTCARD_UART_GetDefaultConfig</a>(cardParams)</td></tr>
<tr class="memdesc:gaf6b1ee454377d17cf29064efb3fc7456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common smart card API macro. <br/></td></tr>
<tr class="separator:gaf6b1ee454377d17cf29064efb3fc7456"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad23aeb158d2de552caf5f2b00678477a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gad23aeb158d2de552caf5f2b00678477a">SMARTCARD_RTOS_Init</a> (void *base, <a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx, uint32_t sourceClockHz)</td></tr>
<tr class="memdesc:gad23aeb158d2de552caf5f2b00678477a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a smart card (EMVSIM/UART) peripheral for smart card/ISO-7816 operation. <a href="#gad23aeb158d2de552caf5f2b00678477a">More...</a><br/></td></tr>
<tr class="separator:gad23aeb158d2de552caf5f2b00678477a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e146c2d2cb338f60c5c762f0ca6ab6e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga6e146c2d2cb338f60c5c762f0ca6ab6e">SMARTCARD_RTOS_Deinit</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx)</td></tr>
<tr class="memdesc:ga6e146c2d2cb338f60c5c762f0ca6ab6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the smart card (EMVSIM/UART) interrupts, disables the transmitter and receiver, and flushes the FIFOs (for modules that support FIFOs) and gates smart card clock in SIM. <a href="#ga6e146c2d2cb338f60c5c762f0ca6ab6e">More...</a><br/></td></tr>
<tr class="separator:ga6e146c2d2cb338f60c5c762f0ca6ab6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17bce504cfb0c565e5f2454fdf507e32"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga17bce504cfb0c565e5f2454fdf507e32">SMARTCARD_RTOS_Transfer</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx, <a class="el" href="group__smartcard.html#structsmartcard__xfer__t">smartcard_xfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga17bce504cfb0c565e5f2454fdf507e32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfers data using interrupts. <a href="#ga17bce504cfb0c565e5f2454fdf507e32">More...</a><br/></td></tr>
<tr class="separator:ga17bce504cfb0c565e5f2454fdf507e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcbb2e583de2844cf0f9380e88f19846"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gabcbb2e583de2844cf0f9380e88f19846">SMARTCARD_RTOS_WaitForXevent</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx)</td></tr>
<tr class="memdesc:gabcbb2e583de2844cf0f9380e88f19846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits until the transfer is finished. <a href="#gabcbb2e583de2844cf0f9380e88f19846">More...</a><br/></td></tr>
<tr class="separator:gabcbb2e583de2844cf0f9380e88f19846"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab75b61b921cda65bb115ffa3e6349bfa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gab75b61b921cda65bb115ffa3e6349bfa">SMARTCARD_RTOS_Control</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx, <a class="el" href="group__smartcard.html#gac4b9128bb3719dfb0675abdb6e18daae">smartcard_control_t</a> control, uint32_t param)</td></tr>
<tr class="memdesc:gab75b61b921cda65bb115ffa3e6349bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the smart card module as per different user request. <a href="#gab75b61b921cda65bb115ffa3e6349bfa">More...</a><br/></td></tr>
<tr class="separator:gab75b61b921cda65bb115ffa3e6349bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23a5036ba9f9c160ac91e5d1fe7668a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga23a5036ba9f9c160ac91e5d1fe7668a8">SMARTCARD_RTOS_PHY_Control</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx, <a class="el" href="group__smartcard.html#ga3620f4dad4aca31c4e2b5eb5d6114147">smartcard_interface_control_t</a> control, uint32_t param)</td></tr>
<tr class="memdesc:ga23a5036ba9f9c160ac91e5d1fe7668a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the smart card module as per different user request. <a href="#ga23a5036ba9f9c160ac91e5d1fe7668a8">More...</a><br/></td></tr>
<tr class="separator:ga23a5036ba9f9c160ac91e5d1fe7668a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad45e091c4a127bc2763e37a4cc919ee"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#gaad45e091c4a127bc2763e37a4cc919ee">SMARTCARD_RTOS_PHY_Activate</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx, <a class="el" href="group__smartcard.html#gaa4b57fc884f0466d060b71d9787b0901">smartcard_reset_type_t</a> resetType)</td></tr>
<tr class="memdesc:gaad45e091c4a127bc2763e37a4cc919ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates the smart card interface. <a href="#gaad45e091c4a127bc2763e37a4cc919ee">More...</a><br/></td></tr>
<tr class="separator:gaad45e091c4a127bc2763e37a4cc919ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41c0249a05e358f6ac950862aa876419"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ga41c0249a05e358f6ac950862aa876419">SMARTCARD_RTOS_PHY_Deactivate</a> (<a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *ctx)</td></tr>
<tr class="memdesc:ga41c0249a05e358f6ac950862aa876419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivates the smart card interface. <a href="#ga41c0249a05e358f6ac950862aa876419">More...</a><br/></td></tr>
<tr class="separator:ga41c0249a05e358f6ac950862aa876419"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structrtos__smartcard__context__t" id="structrtos__smartcard__context__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct rtos_smartcard_context_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>Runtime RTOS Smart card driver context.</p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a3d6b0e4b8541ca9d7a726b9145c66891"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6b0e4b8541ca9d7a726b9145c66891"></a>
SemaphoreHandle_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#a3d6b0e4b8541ca9d7a726b9145c66891">x_sem</a></td></tr>
<tr class="memdesc:a3d6b0e4b8541ca9d7a726b9145c66891"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS unique access assurance object. <br/></td></tr>
<tr class="separator:a3d6b0e4b8541ca9d7a726b9145c66891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac733d8847a33741868b96593f801602"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac733d8847a33741868b96593f801602"></a>
EventGroupHandle_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#aac733d8847a33741868b96593f801602">x_event</a></td></tr>
<tr class="memdesc:aac733d8847a33741868b96593f801602"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS synchronization object. <br/></td></tr>
<tr class="separator:aac733d8847a33741868b96593f801602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdd31b49f04faa1c3aa0a2023e26d08d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__smartcard.html#structsmartcard__context__t">smartcard_context_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#acdd31b49f04faa1c3aa0a2023e26d08d">x_context</a></td></tr>
<tr class="memdesc:acdd31b49f04faa1c3aa0a2023e26d08d"><td class="mdescLeft">&#160;</td><td class="mdescRight">transactional layer state <a href="#acdd31b49f04faa1c3aa0a2023e26d08d">More...</a><br/></td></tr>
<tr class="separator:acdd31b49f04faa1c3aa0a2023e26d08d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c1bf5607bec8d6fc8bd2cf6be45517"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22c1bf5607bec8d6fc8bd2cf6be45517"></a>
OS_EVENT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#a22c1bf5607bec8d6fc8bd2cf6be45517">x_sem</a></td></tr>
<tr class="memdesc:a22c1bf5607bec8d6fc8bd2cf6be45517"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS unique access assurance object. <br/></td></tr>
<tr class="separator:a22c1bf5607bec8d6fc8bd2cf6be45517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4b0146b1a6c599667ad69056872477a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b0146b1a6c599667ad69056872477a"></a>
OS_FLAG_GRP *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ab4b0146b1a6c599667ad69056872477a">x_event</a></td></tr>
<tr class="memdesc:ab4b0146b1a6c599667ad69056872477a"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS synchronization object. <br/></td></tr>
<tr class="separator:ab4b0146b1a6c599667ad69056872477a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94aab2f6e4a4717ee1b5fb952030176a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94aab2f6e4a4717ee1b5fb952030176a"></a>
OS_SEM&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#a94aab2f6e4a4717ee1b5fb952030176a">x_sem</a></td></tr>
<tr class="memdesc:a94aab2f6e4a4717ee1b5fb952030176a"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS unique access assurance object. <br/></td></tr>
<tr class="separator:a94aab2f6e4a4717ee1b5fb952030176a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae553aa8b33bafa93ac3a997c1d353078"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae553aa8b33bafa93ac3a997c1d353078"></a>
OS_FLAG_GRP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smartcard__freertos__driver.html#ae553aa8b33bafa93ac3a997c1d353078">x_event</a></td></tr>
<tr class="memdesc:ae553aa8b33bafa93ac3a997c1d353078"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTOS synchronization object. <br/></td></tr>
<tr class="separator:ae553aa8b33bafa93ac3a997c1d353078"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="acdd31b49f04faa1c3aa0a2023e26d08d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__smartcard.html#structsmartcard__context__t">smartcard_context_t</a> rtos_smartcard_context_t::x_context</td>
</tr>
</table>
</div><div class="memdoc">
<p>Transactional layer state. </p>
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaf026da01efdd87042a0489a5f03e70a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SMARTCARD_Control</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">base, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">context, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">control, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">param&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="group__smartcard__uart__driver.html#ga2627ac127c8229416e6e269667b19529">SMARTCARD_UART_Control</a>(base, context, control, 0)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Common smart card API macro </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gad23aeb158d2de552caf5f2b00678477a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_Init </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sourceClockHz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Also initialize smart card PHY interface .</p>
<p>This function ungates the smart card clock, initializes the module to EMV default settings, configures the IRQ state structure, and enables the module-level interrupt to the core. Initialize RTOS synchronization objects and context.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The smart card peripheral base address. </td></tr>
<tr><td class="paramname">ctx</td><td>The smart card RTOS structure. </td></tr>
<tr><td class="paramname">sourceClockHz</td><td>smart card clock generation module source clock.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="ga6e146c2d2cb338f60c5c762f0ca6ab6e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_Deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Deactivates also smart card PHY interface, stops smart card clocks. Free all synchronization objects allocated in RTOS smart card context.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The smart card RTOS state.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="ga17bce504cfb0c565e5f2454fdf507e32"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_Transfer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smartcard.html#structsmartcard__xfer__t">smartcard_xfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A blocking (also known as synchronous) function means that the function returns after the transfer is done. User can cancel this transfer by calling function AbortTransfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>A pointer to the RTOS smart card driver context. </td></tr>
<tr><td class="paramname">xfer</td><td>smart card transfer structure.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="gabcbb2e583de2844cf0f9380e88f19846"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_WaitForXevent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Task waits on a transfer finish event. Don't initialize the transfer. Instead, wait for transfer callback. Can be used while waiting on initial TS character.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>A pointer to the RTOS smart card driver context.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="gab75b61b921cda65bb115ffa3e6349bfa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_Control </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smartcard.html#gac4b9128bb3719dfb0675abdb6e18daae">smartcard_control_t</a>&#160;</td>
<td class="paramname"><em>control</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>param</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">ctx</td><td>The smart card RTOS context pointer. </td></tr>
<tr><td class="paramname">control</td><td>Control type </td></tr>
<tr><td class="paramname">param</td><td>Integer value of specific to control command.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="ga23a5036ba9f9c160ac91e5d1fe7668a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_PHY_Control </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smartcard.html#ga3620f4dad4aca31c4e2b5eb5d6114147">smartcard_interface_control_t</a>&#160;</td>
<td class="paramname"><em>control</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>param</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">ctx</td><td>The smart card RTOS context pointer. </td></tr>
<tr><td class="paramname">control</td><td>Control type </td></tr>
<tr><td class="paramname">param</td><td>Integer value of specific to control command.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="gaad45e091c4a127bc2763e37a4cc919ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_PHY_Activate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__smartcard.html#gaa4b57fc884f0466d060b71d9787b0901">smartcard_reset_type_t</a>&#160;</td>
<td class="paramname"><em>resetType</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">ctx</td><td>The smart card RTOS driver context structure. </td></tr>
<tr><td class="paramname">resetType</td><td>type of reset to be performed, possible values = kSmartcardColdReset, kSmartcardWarmReset</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </dd></dl>
</div>
</div>
<a class="anchor" id="ga41c0249a05e358f6ac950862aa876419"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SMARTCARD_RTOS_PHY_Deactivate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__smartcard__freertos__driver.html#structrtos__smartcard__context__t">rtos_smartcard_context_t</a> *&#160;</td>
<td class="paramname"><em>ctx</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">ctx</td><td>The smart card RTOS driver context structure.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An zero in Success or error code. </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>