Files
E3/e3_176_ref/doc/Doxygen/html/sdrv__lin_8h.html
2025-10-21 19:40:27 +08:00

1809 lines
95 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SemiDrive SSDK Appication Program Interface: Z:/01-Code/06-SSDK-DEV-Firewall/ssdk/drivers/include/sdrv_lin.h File Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">SemiDrive SSDK Appication Program Interface<span id="projectnumber">&#160;PTG3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_ee023d43c33bfccc31aa50a48a76892b.html">include</a></li> </ul>
</div>
</div><!-- top -->
<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">sdrv_lin.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;compiler.h&gt;</code><br />
<code>#include &lt;<a class="el" href="sdrv__common_8h_source.html">sdrv_common.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="sdrv__uart_8h_source.html">sdrv_uart.h</a>&gt;</code><br />
<code>#include &lt;types.h&gt;</code><br />
</div>
<p><a href="sdrv__lin_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__lin.html">sdrv_lin</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__lin__config.html">sdrv_lin_config</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsdrv__lin__pdu.html">sdrv_lin_pdu</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 id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:afad0b1385b1f4f49ffa15547a0f1e33b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#afad0b1385b1f4f49ffa15547a0f1e33b">SDRV_UART_INTR_TX_FOVF</a>&#160;&#160;&#160; (1U &lt;&lt; 4)</td></tr>
<tr class="separator:afad0b1385b1f4f49ffa15547a0f1e33b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a522a4693ce5c3017a5768e7e4c68b7ec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a522a4693ce5c3017a5768e7e4c68b7ec">SDRV_UART_INTR_RX_FOVF</a>&#160;&#160;&#160; (1U &lt;&lt; 5)</td></tr>
<tr class="separator:a522a4693ce5c3017a5768e7e4c68b7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1816ed34175974e51723fe392c99195"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ab1816ed34175974e51723fe392c99195">SDRV_LIN_INTR_PARITYERR</a>&#160;&#160;&#160; (1U &lt;&lt; 8)</td></tr>
<tr class="separator:ab1816ed34175974e51723fe392c99195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97ac25cdc24f3a8213f91d83fce2b335"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a97ac25cdc24f3a8213f91d83fce2b335">SDRV_LIN_INTR_FRAMEERR</a>&#160;&#160;&#160; (1U &lt;&lt; 9)</td></tr>
<tr class="separator:a97ac25cdc24f3a8213f91d83fce2b335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46ba01049de61d570c038eda58981ddb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a46ba01049de61d570c038eda58981ddb">SDRV_LIN_INTR_BAUDRATEERR</a>&#160;&#160;&#160; (1U &lt;&lt; 10)</td></tr>
<tr class="separator:a46ba01049de61d570c038eda58981ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a884ed8cc637ccae3f15bbcdff9eb37b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a884ed8cc637ccae3f15bbcdff9eb37b5">SDRV_LIN_INTR_NOISERERR</a>&#160;&#160;&#160; (1U &lt;&lt; 11)</td></tr>
<tr class="separator:a884ed8cc637ccae3f15bbcdff9eb37b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad432ce8ce139489ea7aec73d0cdae0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#aaad432ce8ce139489ea7aec73d0cdae0">SDRV_LIN_INTR_ABRPASS</a>&#160;&#160;&#160; (1U &lt;&lt; 18)</td></tr>
<tr class="separator:aaad432ce8ce139489ea7aec73d0cdae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ad2ef03b4509e164e92340cb0fe1d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a42ad2ef03b4509e164e92340cb0fe1d6">SDRV_LIN_INTR_ABRFAIL</a>&#160;&#160;&#160; (1U &lt;&lt; 19)</td></tr>
<tr class="separator:a42ad2ef03b4509e164e92340cb0fe1d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ab52d42bf56bad0dda55ed6c751927"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ac1ab52d42bf56bad0dda55ed6c751927">SDRV_LIN_INTR_STARTBITERR</a>&#160;&#160;&#160; (1U &lt;&lt; 20)</td></tr>
<tr class="separator:ac1ab52d42bf56bad0dda55ed6c751927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2938ccb635bb94c8501d0efc94b2d66c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a2938ccb635bb94c8501d0efc94b2d66c">SDRV_LIN_INTR_APBCMDDONE</a>&#160;&#160;&#160; (1U &lt;&lt; 21)</td></tr>
<tr class="separator:a2938ccb635bb94c8501d0efc94b2d66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c5aac13984f045ff234f4b97017a1b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a2c5aac13984f045ff234f4b97017a1b8">SDRV_LIN_INTR_APBCMDABORT</a>&#160;&#160;&#160; (1U &lt;&lt; 22)</td></tr>
<tr class="separator:a2c5aac13984f045ff234f4b97017a1b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92c18dcb6c4fe2da4abaffd2e39c20fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a92c18dcb6c4fe2da4abaffd2e39c20fe">SDRV_LIN_INTR_PIDPASS</a>&#160;&#160;&#160;(1U &lt;&lt; 23)</td></tr>
<tr class="separator:a92c18dcb6c4fe2da4abaffd2e39c20fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963d147c704622545da199a06ce06ad8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a963d147c704622545da199a06ce06ad8">SDRV_LIN_INTR_PIDERR</a>&#160;&#160;&#160;(1U &lt;&lt; 24)</td></tr>
<tr class="separator:a963d147c704622545da199a06ce06ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6439876c149d24c32db02db3c0615b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a7a6439876c149d24c32db02db3c0615b">SDRV_LIN_INTR_RXCHKSUMPASS</a>&#160;&#160;&#160;(1U &lt;&lt; 25)</td></tr>
<tr class="separator:a7a6439876c149d24c32db02db3c0615b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a161fa75209bab3548b8ab13a42d3d743"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a161fa75209bab3548b8ab13a42d3d743">SDRV_LIN_INTR_RXCHKSUMERR</a>&#160;&#160;&#160;(1U &lt;&lt; 26)</td></tr>
<tr class="separator:a161fa75209bab3548b8ab13a42d3d743"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7548a7221b7aa991468070a90770336a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a7548a7221b7aa991468070a90770336a">sdrv_lin_controller_init</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, const <a class="el" href="sdrv__lin_8h.html#a47d3b2d015b5e6580d4d966f25aa3fe1">sdrv_lin_config_t</a> *cfg, <a class="el" href="sdrv__lin_8h.html#a763f2e8e447948404e713a1e342ab0f6">lin_callback_t</a> callback, void *userdata)</td></tr>
<tr class="separator:a7548a7221b7aa991468070a90770336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a353f241715fe797c1f07f1e4e9e632"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a8a353f241715fe797c1f07f1e4e9e632">sdrv_lin_deinit</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:a8a353f241715fe797c1f07f1e4e9e632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa68944d1d8c9f59bdc8b01a367a8365e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#aa68944d1d8c9f59bdc8b01a367a8365e">sdrv_lin_set_baudrate</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint32_t baud)</td></tr>
<tr class="separator:aa68944d1d8c9f59bdc8b01a367a8365e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa96e62041131400f22b25498881e02dd"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#aa96e62041131400f22b25498881e02dd">sdrv_lin_get_id</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:aa96e62041131400f22b25498881e02dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad317de84eb694ed65d9d85d930cd39bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ad317de84eb694ed65d9d85d930cd39bb">sdrv_lin_transmitframe</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, <a class="el" href="sdrv__lin_8h.html#a0f6a9df5306935a1e00b44868fa297aa">sdrv_lin_pdu_t</a> *lin_pdu, uint32_t times)</td></tr>
<tr class="separator:ad317de84eb694ed65d9d85d930cd39bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2ec57ecce679142017fdd6e9b9b15da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ad2ec57ecce679142017fdd6e9b9b15da">sdrv_lin_transmit_status_get</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint8_t *bytes_remaining)</td></tr>
<tr class="separator:ad2ec57ecce679142017fdd6e9b9b15da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad46d3fb9d43f2e680005bfea2dfc0eb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ad46d3fb9d43f2e680005bfea2dfc0eb1">sdrv_lin_get_fifodata</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint8_t *data, size_t size, uint32_t times)</td></tr>
<tr class="separator:ad46d3fb9d43f2e680005bfea2dfc0eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ce6dc4040d4cba6b5aa4ae546f7109"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a80ce6dc4040d4cba6b5aa4ae546f7109">sdrv_lin_receiveframe</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, <a class="el" href="sdrv__lin_8h.html#a0f6a9df5306935a1e00b44868fa297aa">sdrv_lin_pdu_t</a> *lin_pdu)</td></tr>
<tr class="separator:a80ce6dc4040d4cba6b5aa4ae546f7109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affacdc5dcdf2528185c72242c8fbe841"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#affacdc5dcdf2528185c72242c8fbe841">sdrv_lin_receive_status_get</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint8_t *bytes_remaining)</td></tr>
<tr class="separator:affacdc5dcdf2528185c72242c8fbe841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79a62c81d7fc9d12713c91b6edfcfe0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#acf20a04db5e0282b81477d4d2201ae72">lin_sub_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#af79a62c81d7fc9d12713c91b6edfcfe0">sdrv_lin_get_transfer_status</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:af79a62c81d7fc9d12713c91b6edfcfe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae844b093c2e4f467281f570d1c5d8825"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ae844b093c2e4f467281f570d1c5d8825">sdrv_lin_clear_transfer_status</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:ae844b093c2e4f467281f570d1c5d8825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd354ad4cf8aaa3fa312c83ab48db799"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a4427f0d53b501e3ed886d4aeefaddc78">lin_ch_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#acd354ad4cf8aaa3fa312c83ab48db799">sdrv_lin_get_status</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:acd354ad4cf8aaa3fa312c83ab48db799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8bd7b9f7816eefee50faa3b46b3914b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#af8bd7b9f7816eefee50faa3b46b3914b">sdrv_lin_goto_sleep</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:af8bd7b9f7816eefee50faa3b46b3914b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203720f92b847c613f96b07642375ed2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a203720f92b847c613f96b07642375ed2">sdrv_lin_goto_sleep_internal</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:a203720f92b847c613f96b07642375ed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac435afeca9484861b1c048da4a23c972"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#ac435afeca9484861b1c048da4a23c972">sdrv_lin_wakeup</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:ac435afeca9484861b1c048da4a23c972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d73061294e89e86564836870b79290d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a7d73061294e89e86564836870b79290d">sdrv_lin_wakeup_internal</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:a7d73061294e89e86564836870b79290d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7df89d1d319e3910445d8e3588f7184a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a7df89d1d319e3910445d8e3588f7184a">sdrv_lin_intr_ctrl</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint32_t mask, bool value)</td></tr>
<tr class="separator:a7df89d1d319e3910445d8e3588f7184a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74bf7399b8bf6cad64d37bdc3b22d3d0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a74bf7399b8bf6cad64d37bdc3b22d3d0">sdrv_lin_intr_get</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:a74bf7399b8bf6cad64d37bdc3b22d3d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bab7a086101bdad625e7f4f1dd23cec"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a1bab7a086101bdad625e7f4f1dd23cec">sdrv_lin_intr_status_get</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl)</td></tr>
<tr class="separator:a1bab7a086101bdad625e7f4f1dd23cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a927c73e8f376a102dfae3f3399ae8bdd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a927c73e8f376a102dfae3f3399ae8bdd">sdrv_lin_intr_status_clear</a> (<a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *ctrl, uint32_t mask)</td></tr>
<tr class="separator:a927c73e8f376a102dfae3f3399ae8bdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9f86140b0d6b34a9b3bbeb9baaf5bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__lin_8h.html#a1f9f86140b0d6b34a9b3bbeb9baaf5bf">sdrv_lin_irq_handler</a> (uint32_t irq, void *ctrl)</td></tr>
<tr class="separator:a1f9f86140b0d6b34a9b3bbeb9baaf5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section copyright"><dt>Copyright</dt><dd>Copyright (c) 2020 Semidrive Semiconductor. All rights reserved. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ac08ba24bc73e90b97cc9d8056801ee5c" name="ac08ba24bc73e90b97cc9d8056801ee5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac08ba24bc73e90b97cc9d8056801ee5c">&#9670;&nbsp;</a></span>ABR_PATTERN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ABR_PATTERN&#160;&#160;&#160;0U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a76e19c1936dc1cd3d576cdc3be36d6e1" name="a76e19c1936dc1cd3d576cdc3be36d6e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76e19c1936dc1cd3d576cdc3be36d6e1">&#9670;&nbsp;</a></span>LIN_SLEEP_ID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIN_SLEEP_ID&#160;&#160;&#160;0x3cU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a843e9b4eab8ba5b7d155c5d02394dbf8" name="a843e9b4eab8ba5b7d155c5d02394dbf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a843e9b4eab8ba5b7d155c5d02394dbf8">&#9670;&nbsp;</a></span>LIN_WAKEUP_ID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIN_WAKEUP_ID&#160;&#160;&#160;0x3dU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa4b36d4262357d165bcb1efb1f3a4d31" name="aa4b36d4262357d165bcb1efb1f3a4d31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4b36d4262357d165bcb1efb1f3a4d31">&#9670;&nbsp;</a></span>NoWait</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NoWait&#160;&#160;&#160;0x00U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3c63746602ba666ff0b1885fffdc3a8a" name="a3c63746602ba666ff0b1885fffdc3a8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c63746602ba666ff0b1885fffdc3a8a">&#9670;&nbsp;</a></span>SDEV_LIN_INTR_FRAME_FIFO_ERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDEV_LIN_INTR_FRAME_FIFO_ERR</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> (<a class="code hl_define" href="sdrv__lin_8h.html#afad0b1385b1f4f49ffa15547a0f1e33b">SDRV_UART_INTR_TX_FOVF</a> | <a class="code hl_define" href="sdrv__lin_8h.html#a522a4693ce5c3017a5768e7e4c68b7ec">SDRV_UART_INTR_RX_FOVF</a> | \</div>
<div class="line"> SDRV_LIN_INTR_PARITYERR | <a class="code hl_define" href="sdrv__lin_8h.html#a97ac25cdc24f3a8213f91d83fce2b335">SDRV_LIN_INTR_FRAMEERR</a> | \</div>
<div class="line"> SDRV_LIN_INTR_NOISERERR | <a class="code hl_define" href="sdrv__lin_8h.html#ac1ab52d42bf56bad0dda55ed6c751927">SDRV_LIN_INTR_STARTBITERR</a>)</div>
<div class="ttc" id="asdrv__lin_8h_html_a522a4693ce5c3017a5768e7e4c68b7ec"><div class="ttname"><a href="sdrv__lin_8h.html#a522a4693ce5c3017a5768e7e4c68b7ec">SDRV_UART_INTR_RX_FOVF</a></div><div class="ttdeci">#define SDRV_UART_INTR_RX_FOVF</div><div class="ttdef"><b>Definition:</b> sdrv_lin.h:65</div></div>
<div class="ttc" id="asdrv__lin_8h_html_a97ac25cdc24f3a8213f91d83fce2b335"><div class="ttname"><a href="sdrv__lin_8h.html#a97ac25cdc24f3a8213f91d83fce2b335">SDRV_LIN_INTR_FRAMEERR</a></div><div class="ttdeci">#define SDRV_LIN_INTR_FRAMEERR</div><div class="ttdef"><b>Definition:</b> sdrv_lin.h:70</div></div>
<div class="ttc" id="asdrv__lin_8h_html_ac1ab52d42bf56bad0dda55ed6c751927"><div class="ttname"><a href="sdrv__lin_8h.html#ac1ab52d42bf56bad0dda55ed6c751927">SDRV_LIN_INTR_STARTBITERR</a></div><div class="ttdeci">#define SDRV_LIN_INTR_STARTBITERR</div><div class="ttdef"><b>Definition:</b> sdrv_lin.h:82</div></div>
<div class="ttc" id="asdrv__lin_8h_html_afad0b1385b1f4f49ffa15547a0f1e33b"><div class="ttname"><a href="sdrv__lin_8h.html#afad0b1385b1f4f49ffa15547a0f1e33b">SDRV_UART_INTR_TX_FOVF</a></div><div class="ttdeci">#define SDRV_UART_INTR_TX_FOVF</div><div class="ttdoc">Lin interrupt bit mask.</div><div class="ttdef"><b>Definition:</b> sdrv_lin.h:63</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab9137f309e26fd40ece76ad4c955fa36" name="ab9137f309e26fd40ece76ad4c955fa36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9137f309e26fd40ece76ad4c955fa36">&#9670;&nbsp;</a></span>SDRV_CHAR_8_BITS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_CHAR_8_BITS&#160;&#160;&#160;0U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7a485eddc6106d89a5cbaa8333c4c4cc" name="a7a485eddc6106d89a5cbaa8333c4c4cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a485eddc6106d89a5cbaa8333c4c4cc">&#9670;&nbsp;</a></span>SDRV_DOORBELL_ABORT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_DOORBELL_ABORT&#160;&#160;&#160;0xA5C3U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a61e24df53d55ef77120dc1294ae83949" name="a61e24df53d55ef77120dc1294ae83949"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61e24df53d55ef77120dc1294ae83949">&#9670;&nbsp;</a></span>SDRV_DOORBELL_TRIGGER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_DOORBELL_TRIGGER&#160;&#160;&#160;0xA53CU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afcfac18e03286709d32b0c86bdd97bd3" name="afcfac18e03286709d32b0c86bdd97bd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcfac18e03286709d32b0c86bdd97bd3">&#9670;&nbsp;</a></span>SDRV_HALF_DUPLEX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_HALF_DUPLEX&#160;&#160;&#160;1U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a87c385bc510e52ed84d1767325e09764" name="a87c385bc510e52ed84d1767325e09764"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87c385bc510e52ed84d1767325e09764">&#9670;&nbsp;</a></span>SDRV_LIN_ABR_PATTERN_CHAR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_ABR_PATTERN_CHAR&#160;&#160;&#160;0x55U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aab2fc6ee6bbe6ac9704935700f01f097" name="aab2fc6ee6bbe6ac9704935700f01f097"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab2fc6ee6bbe6ac9704935700f01f097">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_ABR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_ABR&#160;&#160;&#160;(<a class="el" href="sdrv__lin_8h.html#aaad432ce8ce139489ea7aec73d0cdae0">SDRV_LIN_INTR_ABRPASS</a> | <a class="el" href="sdrv__lin_8h.html#a42ad2ef03b4509e164e92340cb0fe1d6">SDRV_LIN_INTR_ABRFAIL</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a42ad2ef03b4509e164e92340cb0fe1d6" name="a42ad2ef03b4509e164e92340cb0fe1d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42ad2ef03b4509e164e92340cb0fe1d6">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_ABRFAIL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_ABRFAIL&#160;&#160;&#160; (1U &lt;&lt; 19)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Auto baudrate detect error interrupt bitmask. </p>
</div>
</div>
<a id="aaad432ce8ce139489ea7aec73d0cdae0" name="aaad432ce8ce139489ea7aec73d0cdae0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaad432ce8ce139489ea7aec73d0cdae0">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_ABRPASS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_ABRPASS&#160;&#160;&#160; (1U &lt;&lt; 18)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Auto baudrate detect pass interrupt bitmask. </p>
</div>
</div>
<a id="a2c5aac13984f045ff234f4b97017a1b8" name="a2c5aac13984f045ff234f4b97017a1b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c5aac13984f045ff234f4b97017a1b8">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_APBCMDABORT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_APBCMDABORT&#160;&#160;&#160; (1U &lt;&lt; 22)</td>
</tr>
</table>
</div><div class="memdoc">
<p >APB command abort interrupt bitmask. </p>
</div>
</div>
<a id="a2938ccb635bb94c8501d0efc94b2d66c" name="a2938ccb635bb94c8501d0efc94b2d66c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2938ccb635bb94c8501d0efc94b2d66c">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_APBCMDDONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_APBCMDDONE&#160;&#160;&#160; (1U &lt;&lt; 21)</td>
</tr>
</table>
</div><div class="memdoc">
<p >APB command completed interrupt bitmask. </p>
</div>
</div>
<a id="a46ba01049de61d570c038eda58981ddb" name="a46ba01049de61d570c038eda58981ddb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46ba01049de61d570c038eda58981ddb">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_BAUDRATEERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_BAUDRATEERR&#160;&#160;&#160; (1U &lt;&lt; 10)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Baudrate error interrupt bitmask. </p>
</div>
</div>
<a id="a97ac25cdc24f3a8213f91d83fce2b335" name="a97ac25cdc24f3a8213f91d83fce2b335"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97ac25cdc24f3a8213f91d83fce2b335">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_FRAMEERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_FRAMEERR&#160;&#160;&#160; (1U &lt;&lt; 9)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame error interrupt bitmask. \ </p>
</div>
</div>
<a id="a884ed8cc637ccae3f15bbcdff9eb37b5" name="a884ed8cc637ccae3f15bbcdff9eb37b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a884ed8cc637ccae3f15bbcdff9eb37b5">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_NOISERERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_NOISERERR&#160;&#160;&#160; (1U &lt;&lt; 11)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Noise error interrupt bitmask. \ </p>
</div>
</div>
<a id="ab1816ed34175974e51723fe392c99195" name="ab1816ed34175974e51723fe392c99195"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1816ed34175974e51723fe392c99195">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_PARITYERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_PARITYERR&#160;&#160;&#160; (1U &lt;&lt; 8)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Parity error interrupt bitmask. \ </p>
</div>
</div>
<a id="a963d147c704622545da199a06ce06ad8" name="a963d147c704622545da199a06ce06ad8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a963d147c704622545da199a06ce06ad8">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_PIDERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_PIDERR&#160;&#160;&#160;(1U &lt;&lt; 24)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Receive pid error </p>
</div>
</div>
<a id="a92c18dcb6c4fe2da4abaffd2e39c20fe" name="a92c18dcb6c4fe2da4abaffd2e39c20fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92c18dcb6c4fe2da4abaffd2e39c20fe">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_PIDPASS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_PIDPASS&#160;&#160;&#160;(1U &lt;&lt; 23)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Receive pid pass </p>
</div>
</div>
<a id="a161fa75209bab3548b8ab13a42d3d743" name="a161fa75209bab3548b8ab13a42d3d743"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a161fa75209bab3548b8ab13a42d3d743">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_RXCHKSUMERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_RXCHKSUMERR&#160;&#160;&#160;(1U &lt;&lt; 26)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Data checksum error </p>
</div>
</div>
<a id="a7a6439876c149d24c32db02db3c0615b" name="a7a6439876c149d24c32db02db3c0615b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a6439876c149d24c32db02db3c0615b">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_RXCHKSUMPASS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_RXCHKSUMPASS&#160;&#160;&#160;(1U &lt;&lt; 25)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Data checksum pass </p>
</div>
</div>
<a id="ac1ab52d42bf56bad0dda55ed6c751927" name="ac1ab52d42bf56bad0dda55ed6c751927"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1ab52d42bf56bad0dda55ed6c751927">&#9670;&nbsp;</a></span>SDRV_LIN_INTR_STARTBITERR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_INTR_STARTBITERR&#160;&#160;&#160; (1U &lt;&lt; 20)</td>
</tr>
</table>
</div><div class="memdoc">
<p >Start bit error interrupt bitmask. </p>
</div>
</div>
<a id="a0fc3b5b2e9f82e23305617eb25fd25dd" name="a0fc3b5b2e9f82e23305617eb25fd25dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fc3b5b2e9f82e23305617eb25fd25dd">&#9670;&nbsp;</a></span>SDRV_LIN_OPERATION_TIMEOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_OPERATION_TIMEOUT&#160;&#160;&#160;0x200000U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a24afe9484247daa482cc51660f1ac8a7" name="a24afe9484247daa482cc51660f1ac8a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24afe9484247daa482cc51660f1ac8a7">&#9670;&nbsp;</a></span>SDRV_LIN_PCR7_PCMDTO_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_PCR7_PCMDTO_MASK&#160;&#160;&#160;0x0000001FU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a383095010f82dbde3f6d856c5b795d5e" name="a383095010f82dbde3f6d856c5b795d5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a383095010f82dbde3f6d856c5b795d5e">&#9670;&nbsp;</a></span>SDRV_LIN_PSR4_LINPID_ID_MASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_PSR4_LINPID_ID_MASK&#160;&#160;&#160;0x0000003FU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a053311c55ccead95a0cd02c4a4df27a3" name="a053311c55ccead95a0cd02c4a4df27a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a053311c55ccead95a0cd02c4a4df27a3">&#9670;&nbsp;</a></span>SDRV_LIN_RXBREAK_BIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_RXBREAK_BIT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">bit</td><td>)</td>
<td>&#160;&#160;&#160;(((bit)-9U) + 1U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ada4302ed5ee8f6fc57d5dff13eb9d1b3" name="ada4302ed5ee8f6fc57d5dff13eb9d1b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada4302ed5ee8f6fc57d5dff13eb9d1b3">&#9670;&nbsp;</a></span>SDRV_LIN_RXBREAK_LEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_RXBREAK_LEN&#160;&#160;&#160;(10U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a324aa4120680085e305fea08ef8b31c5" name="a324aa4120680085e305fea08ef8b31c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a324aa4120680085e305fea08ef8b31c5">&#9670;&nbsp;</a></span>SDRV_LIN_TXBREAK_BIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_TXBREAK_BIT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">bit</td><td>)</td>
<td>&#160;&#160;&#160;(((bit)-8U) + 1U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5f8dce991c40b494c7809c59adb300ea" name="a5f8dce991c40b494c7809c59adb300ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f8dce991c40b494c7809c59adb300ea">&#9670;&nbsp;</a></span>SDRV_LIN_TXBREAK_LEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_LIN_TXBREAK_LEN&#160;&#160;&#160;(13U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5ec203aab29dbe9999c10dd907216739" name="a5ec203aab29dbe9999c10dd907216739"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ec203aab29dbe9999c10dd907216739">&#9670;&nbsp;</a></span>SDRV_NO_PARITY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_NO_PARITY&#160;&#160;&#160;0U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6764e74f19fddd216c7ddf1365e1d0e3" name="a6764e74f19fddd216c7ddf1365e1d0e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6764e74f19fddd216c7ddf1365e1d0e3">&#9670;&nbsp;</a></span>SDRV_SOFTWARE_FC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_SOFTWARE_FC&#160;&#160;&#160;1U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8a18dac32e76e11e98d2f0885525b75e" name="a8a18dac32e76e11e98d2f0885525b75e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a18dac32e76e11e98d2f0885525b75e">&#9670;&nbsp;</a></span>SDRV_STOP_1_BIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_STOP_1_BIT&#160;&#160;&#160;0U</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a522a4693ce5c3017a5768e7e4c68b7ec" name="a522a4693ce5c3017a5768e7e4c68b7ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a522a4693ce5c3017a5768e7e4c68b7ec">&#9670;&nbsp;</a></span>SDRV_UART_INTR_RX_FOVF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_UART_INTR_RX_FOVF&#160;&#160;&#160; (1U &lt;&lt; 5)</td>
</tr>
</table>
</div><div class="memdoc">
<p >RX fifo overflow interrupt bit mask. </p>
</div>
</div>
<a id="afad0b1385b1f4f49ffa15547a0f1e33b" name="afad0b1385b1f4f49ffa15547a0f1e33b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afad0b1385b1f4f49ffa15547a0f1e33b">&#9670;&nbsp;</a></span>SDRV_UART_INTR_TX_FOVF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SDRV_UART_INTR_TX_FOVF&#160;&#160;&#160; (1U &lt;&lt; 4)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Lin interrupt bit mask. </p>
<p >TX fifo overflow interrupt bit mask. </p>
</div>
</div>
<a id="abdb8410ba1feb574025f6c29b4886156" name="abdb8410ba1feb574025f6c29b4886156"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdb8410ba1feb574025f6c29b4886156">&#9670;&nbsp;</a></span>WaitForever</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WaitForever&#160;&#160;&#160;0xFFFFFFFFU</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a763f2e8e447948404e713a1e342ab0f6" name="a763f2e8e447948404e713a1e342ab0f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a763f2e8e447948404e713a1e342ab0f6">&#9670;&nbsp;</a></span>lin_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* lin_callback_t) (struct <a class="el" href="structsdrv__lin.html">sdrv_lin</a> *ctrl, <a class="el" href="sdrv__lin_8h.html#a95757bcc4399337b2ef100c86493ddc4">lin_interrupt_type_e</a> linstate, void *userdata)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4427f0d53b501e3ed886d4aeefaddc78" name="a4427f0d53b501e3ed886d4aeefaddc78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4427f0d53b501e3ed886d4aeefaddc78">&#9670;&nbsp;</a></span>lin_ch_status_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#ae08a9921040cf8863d59161243369ae1">lin_ch_status</a> <a class="el" href="sdrv__lin_8h.html#a4427f0d53b501e3ed886d4aeefaddc78">lin_ch_status_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN Channel status. </p>
</div>
</div>
<a id="afa3bc4073fd0e195f9916ae5a45d2307" name="afa3bc4073fd0e195f9916ae5a45d2307"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa3bc4073fd0e195f9916ae5a45d2307">&#9670;&nbsp;</a></span>lin_cs_mode_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#a136ca85f6f6a2559dad2b5948e422c10">lin_cs_mode</a> <a class="el" href="sdrv__lin_8h.html#afa3bc4073fd0e195f9916ae5a45d2307">lin_cs_mode_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN checksum mode. </p>
</div>
</div>
<a id="a95757bcc4399337b2ef100c86493ddc4" name="a95757bcc4399337b2ef100c86493ddc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95757bcc4399337b2ef100c86493ddc4">&#9670;&nbsp;</a></span>lin_interrupt_type_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#a3232865b9d8594ae75f84321ef09a9ba">lin_interrupt_type</a> <a class="el" href="sdrv__lin_8h.html#a95757bcc4399337b2ef100c86493ddc4">lin_interrupt_type_e</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a02af1e048db0e77ef83e90d3e2e17cb5" name="a02af1e048db0e77ef83e90d3e2e17cb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02af1e048db0e77ef83e90d3e2e17cb5">&#9670;&nbsp;</a></span>lin_mode_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#a4d80ed442a8a83985c6ba3658f96fd16">lin_mode</a> <a class="el" href="sdrv__lin_8h.html#a02af1e048db0e77ef83e90d3e2e17cb5">lin_mode_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN mode. </p>
</div>
</div>
<a id="a19c3b0e951c683cbdf205fe3d744a9ad" name="a19c3b0e951c683cbdf205fe3d744a9ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19c3b0e951c683cbdf205fe3d744a9ad">&#9670;&nbsp;</a></span>lin_ret_status_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#aef6404bcff3e130ce7613ed912a2ee97">lin_ret_status</a> <a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN return status. </p>
</div>
</div>
<a id="acf20a04db5e0282b81477d4d2201ae72" name="acf20a04db5e0282b81477d4d2201ae72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf20a04db5e0282b81477d4d2201ae72">&#9670;&nbsp;</a></span>lin_sub_status_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="sdrv__lin_8h.html#a1973593a1d65ff35d21c244933e98911">lin_sub_status</a> <a class="el" href="sdrv__lin_8h.html#acf20a04db5e0282b81477d4d2201ae72">lin_sub_status_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN frame status. </p>
</div>
</div>
<a id="a47d3b2d015b5e6580d4d966f25aa3fe1" name="a47d3b2d015b5e6580d4d966f25aa3fe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47d3b2d015b5e6580d4d966f25aa3fe1">&#9670;&nbsp;</a></span>sdrv_lin_config_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__lin__config.html">sdrv_lin_config</a> <a class="el" href="sdrv__lin_8h.html#a47d3b2d015b5e6580d4d966f25aa3fe1">sdrv_lin_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN controller configure. </p>
</div>
</div>
<a id="a0f6a9df5306935a1e00b44868fa297aa" name="a0f6a9df5306935a1e00b44868fa297aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f6a9df5306935a1e00b44868fa297aa">&#9670;&nbsp;</a></span>sdrv_lin_pdu_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__lin__pdu.html">sdrv_lin_pdu</a> <a class="el" href="sdrv__lin_8h.html#a0f6a9df5306935a1e00b44868fa297aa">sdrv_lin_pdu_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a18de59e7970a8c8a060e48660ff45ad2" name="a18de59e7970a8c8a060e48660ff45ad2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18de59e7970a8c8a060e48660ff45ad2">&#9670;&nbsp;</a></span>sdrv_lin_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsdrv__lin.html">sdrv_lin</a> <a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ae08a9921040cf8863d59161243369ae1" name="ae08a9921040cf8863d59161243369ae1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae08a9921040cf8863d59161243369ae1">&#9670;&nbsp;</a></span>lin_ch_status</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#ae08a9921040cf8863d59161243369ae1">lin_ch_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN Channel status. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae08a9921040cf8863d59161243369ae1a34c4637a22ebbfab07f87cb5cacc3ee0" name="ae08a9921040cf8863d59161243369ae1a34c4637a22ebbfab07f87cb5cacc3ee0"></a>LIN_CH_UNINITIAL_STATE&#160;</td><td class="fielddoc"><p >Channel uninitial </p>
</td></tr>
<tr><td class="fieldname"><a id="ae08a9921040cf8863d59161243369ae1adf9d23fc509626e03606926018a616c3" name="ae08a9921040cf8863d59161243369ae1adf9d23fc509626e03606926018a616c3"></a>LIN_CH_SLEEP_STATE&#160;</td><td class="fielddoc"><p >Channel sleep status </p>
</td></tr>
<tr><td class="fieldname"><a id="ae08a9921040cf8863d59161243369ae1a2264118a4fc8862b48fa88a463cfe501" name="ae08a9921040cf8863d59161243369ae1a2264118a4fc8862b48fa88a463cfe501"></a>LIN_CH_OPERATIONAL_STATE&#160;</td><td class="fielddoc"><p >Channel operational </p>
</td></tr>
</table>
</div>
</div>
<a id="a136ca85f6f6a2559dad2b5948e422c10" name="a136ca85f6f6a2559dad2b5948e422c10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a136ca85f6f6a2559dad2b5948e422c10">&#9670;&nbsp;</a></span>lin_cs_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#a136ca85f6f6a2559dad2b5948e422c10">lin_cs_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN checksum mode. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a136ca85f6f6a2559dad2b5948e422c10aaeae9464f7565f444325341c911ddad6" name="a136ca85f6f6a2559dad2b5948e422c10aaeae9464f7565f444325341c911ddad6"></a>LIN_CLASSIC_CS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a136ca85f6f6a2559dad2b5948e422c10a2c42c4bc60e8c5e6cc69d691b066fca0" name="a136ca85f6f6a2559dad2b5948e422c10a2c42c4bc60e8c5e6cc69d691b066fca0"></a>LIN_ENHANCED_CS&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a3232865b9d8594ae75f84321ef09a9ba" name="a3232865b9d8594ae75f84321ef09a9ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3232865b9d8594ae75f84321ef09a9ba">&#9670;&nbsp;</a></span>lin_interrupt_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#a3232865b9d8594ae75f84321ef09a9ba">lin_interrupt_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Lin interrupt event type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa7ea212f4529d7cdc826f16c598708998" name="a3232865b9d8594ae75f84321ef09a9baa7ea212f4529d7cdc826f16c598708998"></a>SDRV_LIN_NO_EVENT&#160;</td><td class="fielddoc"><p >Lin default interrupt state. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa02b84ab767aa09628fbf60c1182f1000" name="a3232865b9d8594ae75f84321ef09a9baa02b84ab767aa09628fbf60c1182f1000"></a>SDRV_LIN_ABR_PASS&#160;</td><td class="fielddoc"><p >Lin auto baudrate detect pass. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaa58208d5e5edfd060d895a4206c6d7bb" name="a3232865b9d8594ae75f84321ef09a9baaa58208d5e5edfd060d895a4206c6d7bb"></a>SDRV_LIN_ABR_FAIL&#160;</td><td class="fielddoc"><p >Lin auto baudrate detect fail. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa0b435efbd98a9cf358a3b043514146eb" name="a3232865b9d8594ae75f84321ef09a9baa0b435efbd98a9cf358a3b043514146eb"></a>SDRV_LIN_TX_COMPLETE&#160;</td><td class="fielddoc"><p >Lin transmit completed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa95686df53e964d28f32258d1edcb4e85" name="a3232865b9d8594ae75f84321ef09a9baa95686df53e964d28f32258d1edcb4e85"></a>SDRV_LIN_TX_TIMEOUT&#160;</td><td class="fielddoc"><p >Lin transmit timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baade49e094afa21b3c7e0a91be839b5ed0" name="a3232865b9d8594ae75f84321ef09a9baade49e094afa21b3c7e0a91be839b5ed0"></a>SDRV_LIN_TX_ERROR&#160;</td><td class="fielddoc"><p >Lin transmit error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaeed03146be8450488bca77f149babf79" name="a3232865b9d8594ae75f84321ef09a9baaeed03146be8450488bca77f149babf79"></a>SDRV_LIN_RX_COMPLETE&#160;</td><td class="fielddoc"><p >Lin receive completed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaee30de173d3e37cace19dd76ac73b802" name="a3232865b9d8594ae75f84321ef09a9baaee30de173d3e37cace19dd76ac73b802"></a>SDRV_LIN_RX_TIMEOUT&#160;</td><td class="fielddoc"><p >Lin receive timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa24f999ce871fba8057923b06d64510da" name="a3232865b9d8594ae75f84321ef09a9baa24f999ce871fba8057923b06d64510da"></a>SDRV_LIN_RX_ERROR&#160;</td><td class="fielddoc"><p >Lin receive error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa4b450893fdc0bc64c3885f0426be8164" name="a3232865b9d8594ae75f84321ef09a9baa4b450893fdc0bc64c3885f0426be8164"></a>SDRV_LIN_RX_CHECKSUM_ERR&#160;</td><td class="fielddoc"><p >Lin receive checksum error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa02490feb90ce829ebb08d3d25e83f9cf" name="a3232865b9d8594ae75f84321ef09a9baa02490feb90ce829ebb08d3d25e83f9cf"></a>SDRV_LIN_RX_PIDPASS&#160;</td><td class="fielddoc"><p >Lin receive pid success. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaa61a9bff06b3062f20bd40d3abf00867" name="a3232865b9d8594ae75f84321ef09a9baaa61a9bff06b3062f20bd40d3abf00867"></a>SDRV_LIN_RX_PIDERR&#160;</td><td class="fielddoc"><p >Lin receive pid error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa1f4aadb6b60e2b9ed1c857bb80ca7f12" name="a3232865b9d8594ae75f84321ef09a9baa1f4aadb6b60e2b9ed1c857bb80ca7f12"></a>SDRV_LIN_RX_STARTBIT_ERR&#160;</td><td class="fielddoc"><p >Lin transfer start bit error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa740042094b967b759b921f5b2c37a668" name="a3232865b9d8594ae75f84321ef09a9baa740042094b967b759b921f5b2c37a668"></a>SDRV_LIN_RX_PARITY_ERR&#160;</td><td class="fielddoc"><p >Lin receive Parity error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaf65ce4bc7e9a6cbe56919cc7bdcbb7fb" name="a3232865b9d8594ae75f84321ef09a9baaf65ce4bc7e9a6cbe56919cc7bdcbb7fb"></a>SDRV_LIN_RX_FRAME_ERR&#160;</td><td class="fielddoc"><p >Lin receive frame error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baa0126c7c452f507b520dd184c646a9bb5" name="a3232865b9d8594ae75f84321ef09a9baa0126c7c452f507b520dd184c646a9bb5"></a>SDRV_LIN_RX_BAUDRATE_ERR&#160;</td><td class="fielddoc"><p >Lin receive baudrate error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baab92c1b66adbd9a9b0c7304c8463dab4e" name="a3232865b9d8594ae75f84321ef09a9baab92c1b66adbd9a9b0c7304c8463dab4e"></a>SDRV_LIN_RX_NOISE_ERR&#160;</td><td class="fielddoc"><p >Lin receive noise error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baae9cc4d0b85913172d2e3964058c66883" name="a3232865b9d8594ae75f84321ef09a9baae9cc4d0b85913172d2e3964058c66883"></a>SDRV_LIN_RX_RXFOVF_ERR&#160;</td><td class="fielddoc"><p >Lin rx fifo overflow. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3232865b9d8594ae75f84321ef09a9baaf3748184db986f4a5ef78495f8b81ef7" name="a3232865b9d8594ae75f84321ef09a9baaf3748184db986f4a5ef78495f8b81ef7"></a>SDRV_LIN_TX_TXFOVF_ERR&#160;</td><td class="fielddoc"><p >Lin tx fifo overflow. </p>
</td></tr>
</table>
</div>
</div>
<a id="a4d80ed442a8a83985c6ba3658f96fd16" name="a4d80ed442a8a83985c6ba3658f96fd16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d80ed442a8a83985c6ba3658f96fd16">&#9670;&nbsp;</a></span>lin_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#a4d80ed442a8a83985c6ba3658f96fd16">lin_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN mode. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4d80ed442a8a83985c6ba3658f96fd16a73a0e921bd2baed5e258f7035637709f" name="a4d80ed442a8a83985c6ba3658f96fd16a73a0e921bd2baed5e258f7035637709f"></a>LIN_MASTER&#160;</td><td class="fielddoc"><p >Lin module in master mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="a4d80ed442a8a83985c6ba3658f96fd16a326ed930dc6417255e705aba8b7a55c1" name="a4d80ed442a8a83985c6ba3658f96fd16a326ed930dc6417255e705aba8b7a55c1"></a>LIN_SLAVE&#160;</td><td class="fielddoc"><p >Lin module in slave mode. </p>
</td></tr>
</table>
</div>
</div>
<a id="aef6404bcff3e130ce7613ed912a2ee97" name="aef6404bcff3e130ce7613ed912a2ee97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef6404bcff3e130ce7613ed912a2ee97">&#9670;&nbsp;</a></span>lin_ret_status</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#aef6404bcff3e130ce7613ed912a2ee97">lin_ret_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN return status. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a83da0606125c0dc2fe0544cb2c383cb9" name="aef6404bcff3e130ce7613ed912a2ee97a83da0606125c0dc2fe0544cb2c383cb9"></a>STATUS_SUCCESS&#160;</td><td class="fielddoc"><p >Status for success. </p>
</td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a1deeca447a4629646b91aea59269574c" name="aef6404bcff3e130ce7613ed912a2ee97a1deeca447a4629646b91aea59269574c"></a>STATUS_FAIL&#160;</td><td class="fielddoc"><p >Status for common error </p>
</td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a1d57e6000a93a7eb812752846715a58c" name="aef6404bcff3e130ce7613ed912a2ee97a1d57e6000a93a7eb812752846715a58c"></a>STATUS_TIMEOUT&#160;</td><td class="fielddoc"><p >Status for timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a27b7b4ca606d6208a2ada6df1af6ab88" name="aef6404bcff3e130ce7613ed912a2ee97a27b7b4ca606d6208a2ada6df1af6ab88"></a>STATUS_BUSY&#160;</td><td class="fielddoc"><p >Status for busy. </p>
</td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a0c947b2b9ee0e7f6aa68426e202e0035" name="aef6404bcff3e130ce7613ed912a2ee97a0c947b2b9ee0e7f6aa68426e202e0035"></a>STATUS_INVALID_PARAM&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a72568bbbc0c8a69844cfc90f1a249cd6" name="aef6404bcff3e130ce7613ed912a2ee97a72568bbbc0c8a69844cfc90f1a249cd6"></a>STATUS_SLEEP&#160;</td><td class="fielddoc"><p >Module in sleep mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="aef6404bcff3e130ce7613ed912a2ee97a4df57af961ecbce7f02d9e1ec5c9cf44" name="aef6404bcff3e130ce7613ed912a2ee97a4df57af961ecbce7f02d9e1ec5c9cf44"></a>STATUS_UNINIT&#160;</td><td class="fielddoc"><p >Module should be initialized. </p>
</td></tr>
</table>
</div>
</div>
<a id="a1973593a1d65ff35d21c244933e98911" name="a1973593a1d65ff35d21c244933e98911"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1973593a1d65ff35d21c244933e98911">&#9670;&nbsp;</a></span>lin_sub_status</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__lin_8h.html#a1973593a1d65ff35d21c244933e98911">lin_sub_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN frame status. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911af2d16a76d95e2c0ec5d49c4a2f20b458" name="a1973593a1d65ff35d21c244933e98911af2d16a76d95e2c0ec5d49c4a2f20b458"></a>SDRV_LIN_STATE_IDLE&#160;</td><td class="fielddoc"><p >RX/TX line idle. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a5a394774adc5070549c6d23ebebe72d1" name="a1973593a1d65ff35d21c244933e98911a5a394774adc5070549c6d23ebebe72d1"></a>SDRV_LIN_STATE_BUSY&#160;</td><td class="fielddoc"><p >RX/TX line busy. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911aa968d4c163cc0f230ce6b72db1acbc67" name="a1973593a1d65ff35d21c244933e98911aa968d4c163cc0f230ce6b72db1acbc67"></a>SDRV_LIN_STATE_TX&#160;</td><td class="fielddoc"><p >Lin module in transmit mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911ae506235c1d60338c829ab556b152fb37" name="a1973593a1d65ff35d21c244933e98911ae506235c1d60338c829ab556b152fb37"></a>SDRV_LIN_STATE_TX_ERROR&#160;</td><td class="fielddoc"><p >Lin transmit error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a35c80f78c983fff6a6dd680b74d8a5f9" name="a1973593a1d65ff35d21c244933e98911a35c80f78c983fff6a6dd680b74d8a5f9"></a>SDRV_LIN_STATE_RX&#160;</td><td class="fielddoc"><p >Lin module in receive mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a52b0f09b8ca304ee036da1c1f05c2890" name="a1973593a1d65ff35d21c244933e98911a52b0f09b8ca304ee036da1c1f05c2890"></a>SDRV_LIN_STATE_RX_ERROR&#160;</td><td class="fielddoc"><p >Lin receive error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a11d5a8ee0c883e38766904cde5943f6f" name="a1973593a1d65ff35d21c244933e98911a11d5a8ee0c883e38766904cde5943f6f"></a>SDRV_LIN_STATE_ABR_READY&#160;</td><td class="fielddoc"><p >Lin auto baudrate ready. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a2c4d3ea1f47d401cf7df30e061c4ba01" name="a1973593a1d65ff35d21c244933e98911a2c4d3ea1f47d401cf7df30e061c4ba01"></a>SDRV_LIN_STATE_ABR_BUSY&#160;</td><td class="fielddoc"><p >Lin auto baudrate detecting. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1973593a1d65ff35d21c244933e98911a4b9993099b8b2314dc1fb8625103c189" name="a1973593a1d65ff35d21c244933e98911a4b9993099b8b2314dc1fb8625103c189"></a>SDRV_LIN_STATE_ABR_FAIL&#160;</td><td class="fielddoc"><p >Lin auto baudrate detect fail. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae844b093c2e4f467281f570d1c5d8825" name="ae844b093c2e4f467281f570d1c5d8825"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae844b093c2e4f467281f570d1c5d8825">&#9670;&nbsp;</a></span>sdrv_lin_clear_transfer_status()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sdrv_lin_clear_transfer_status </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear LIN tranfer status . </p>
<p >This function clear the state of transfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7548a7221b7aa991468070a90770336a" name="a7548a7221b7aa991468070a90770336a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7548a7221b7aa991468070a90770336a">&#9670;&nbsp;</a></span>sdrv_lin_controller_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_controller_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="sdrv__lin_8h.html#a47d3b2d015b5e6580d4d966f25aa3fe1">sdrv_lin_config_t</a> *&#160;</td>
<td class="paramname"><em>cfg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a763f2e8e447948404e713a1e342ab0f6">lin_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userdata</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN controller init. </p>
<p >This function initializes LIN controller and attach callback function. Callback fumction is optional. Please input NULL if user do not need callback function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td>lin config </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Callback</td><td>callback function </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">userdata</td><td>callback function user param </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Initializing lin success. STATUS_TIMEOUT : Reset lin module fail. </dd></dl>
</div>
</div>
<a id="a8a353f241715fe797c1f07f1e4e9e632" name="a8a353f241715fe797c1f07f1e4e9e632"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a353f241715fe797c1f07f1e4e9e632">&#9670;&nbsp;</a></span>sdrv_lin_deinit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sdrv_lin_deinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN deinit. </p>
<p >This function disable the lin module, and change the state of lin channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad46d3fb9d43f2e680005bfea2dfc0eb1" name="ad46d3fb9d43f2e680005bfea2dfc0eb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad46d3fb9d43f2e680005bfea2dfc0eb1">&#9670;&nbsp;</a></span>sdrv_lin_get_fifodata()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_get_fifodata </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>times</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN get rx fifo data. </p>
<p >This function receive frame with a blocking method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the first address of the source buff to received </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the size of bytes to receive </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">times</td><td>the max count of get fifo data </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Get data from rx fifo success. STATUS_TIMEOUT : Lin rx fifo is empty until timeout. </dd></dl>
</div>
</div>
<a id="aa96e62041131400f22b25498881e02dd" name="aa96e62041131400f22b25498881e02dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa96e62041131400f22b25498881e02dd">&#9670;&nbsp;</a></span>sdrv_lin_get_id()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t sdrv_lin_get_id </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get lin current id. </p>
<p >This function get the id of current transfer. This function is only used in salve mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the id of current transfer </dd></dl>
</div>
</div>
<a id="acd354ad4cf8aaa3fa312c83ab48db799" name="acd354ad4cf8aaa3fa312c83ab48db799"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd354ad4cf8aaa3fa312c83ab48db799">&#9670;&nbsp;</a></span>sdrv_lin_get_status()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a4427f0d53b501e3ed886d4aeefaddc78">lin_ch_status_e</a> sdrv_lin_get_status </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get LIN node status . </p>
<p >This function check the state of node</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the state of lin node </dd></dl>
</div>
</div>
<a id="af79a62c81d7fc9d12713c91b6edfcfe0" name="af79a62c81d7fc9d12713c91b6edfcfe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af79a62c81d7fc9d12713c91b6edfcfe0">&#9670;&nbsp;</a></span>sdrv_lin_get_transfer_status()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#acf20a04db5e0282b81477d4d2201ae72">lin_sub_status_e</a> sdrv_lin_get_transfer_status </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get LIN tranfer status . </p>
<p >This function check the state of transfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SDRV_LIN_STATE_IDLE : The lin bus is idle. SDRV_LIN_STATE_BUSY : The lin bus is busy. </dd></dl>
</div>
</div>
<a id="af8bd7b9f7816eefee50faa3b46b3914b" name="af8bd7b9f7816eefee50faa3b46b3914b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8bd7b9f7816eefee50faa3b46b3914b">&#9670;&nbsp;</a></span>sdrv_lin_goto_sleep()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_goto_sleep </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN require slave node goto sleep. </p>
<p >This function send frame require slave node goto sleep.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Send sleep frame to slave node success. STATUS_UNINIT : The lin entity is uninitialized. STATUS_SLEEP : The lin entity is sleepy. STATUS_BUSY : The lin bus is busy. STATUS_FAIL : The size of frame is bigger than 8. </dd></dl>
</div>
</div>
<a id="a203720f92b847c613f96b07642375ed2" name="a203720f92b847c613f96b07642375ed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a203720f92b847c613f96b07642375ed2">&#9670;&nbsp;</a></span>sdrv_lin_goto_sleep_internal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_goto_sleep_internal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN require this node goto sleep. </p>
<p >This function send frame require this node goto sleep.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Set it's own state to LIN_CH_SLEEP_STATE success. STATUS_UNINIT : The lin entity is uninitialized. </dd></dl>
</div>
</div>
<a id="a7df89d1d319e3910445d8e3588f7184a" name="a7df89d1d319e3910445d8e3588f7184a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7df89d1d319e3910445d8e3588f7184a">&#9670;&nbsp;</a></span>sdrv_lin_intr_ctrl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sdrv_lin_intr_ctrl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable/Disable Sdrv LIN Interrupt. </p>
<p >This function enable/disable sdrv lin interrupt with the provided mask.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mask</td><td>the interrupts to enable </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>enable or disable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a74bf7399b8bf6cad64d37bdc3b22d3d0" name="a74bf7399b8bf6cad64d37bdc3b22d3d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74bf7399b8bf6cad64d37bdc3b22d3d0">&#9670;&nbsp;</a></span>sdrv_lin_intr_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t sdrv_lin_intr_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get Sdrv LIN Interrupt enable/disable status. </p>
<p >This function get sdrv lin interrupt enable/disable status with the provided mask.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Sdrv lin Interrupt enable/disable status </dd></dl>
</div>
</div>
<a id="a927c73e8f376a102dfae3f3399ae8bdd" name="a927c73e8f376a102dfae3f3399ae8bdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a927c73e8f376a102dfae3f3399ae8bdd">&#9670;&nbsp;</a></span>sdrv_lin_intr_status_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sdrv_lin_intr_status_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</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">
<p>Clear Sdrv lin Interrupt flag status. </p>
<p >This function clear Sdrv lin Interrupt flag status with the provided mask.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mask</td><td>the interrupts status to clear </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1bab7a086101bdad625e7f4f1dd23cec" name="a1bab7a086101bdad625e7f4f1dd23cec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bab7a086101bdad625e7f4f1dd23cec">&#9670;&nbsp;</a></span>sdrv_lin_intr_status_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t sdrv_lin_intr_status_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get Sdrv lin Interrupt flag status. </p>
<p >This function get Sdrv lin Interrupt flag status.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>all sdrv lin Interrupt status </dd></dl>
</div>
</div>
<a id="a1f9f86140b0d6b34a9b3bbeb9baaf5bf" name="a1f9f86140b0d6b34a9b3bbeb9baaf5bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f9f86140b0d6b34a9b3bbeb9baaf5bf">&#9670;&nbsp;</a></span>sdrv_lin_irq_handler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int sdrv_lin_irq_handler </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ctrl</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sdrv LIN default IRQ handle function. </p>
<p >This function handles the sdrv lin transmit and receive and error IRQ request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">irq</td><td>the irq number of LINx </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="affacdc5dcdf2528185c72242c8fbe841" name="affacdc5dcdf2528185c72242c8fbe841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affacdc5dcdf2528185c72242c8fbe841">&#9670;&nbsp;</a></span>sdrv_lin_receive_status_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_receive_status_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>bytes_remaining</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get LIN async receive status. </p>
<p >This function receive frame with a interrupt method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">bytes_remaining</td><td>the number of bytes that still needed to receive </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Lin receive the frame success. STATUS_BUSY : Lin receive the frame not finished. STATUS_FAIL : Lin receive the frame fail. </dd></dl>
</div>
</div>
<a id="a80ce6dc4040d4cba6b5aa4ae546f7109" name="a80ce6dc4040d4cba6b5aa4ae546f7109"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80ce6dc4040d4cba6b5aa4ae546f7109">&#9670;&nbsp;</a></span>sdrv_lin_receiveframe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_receiveframe </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a0f6a9df5306935a1e00b44868fa297aa">sdrv_lin_pdu_t</a> *&#160;</td>
<td class="paramname"><em>lin_pdu</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN receive frame. </p>
<p >This function receive frame with a blocking method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">lin_pdu</td><td>the info of receive param, include id: the id of current transfer; checksum: the checksum of current transfer; size: the data size of current transfer; data: the data buffer of current transfer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Triger lin receive process success. STATUS_UNINIT : The lin entity is uninitialized. STATUS_SLEEP : The lin entity is sleepy. STATUS_BUSY : The lin bus is busy. STATUS_FAIL : The size of frame is bigger than 8. </dd></dl>
</div>
</div>
<a id="aa68944d1d8c9f59bdc8b01a367a8365e" name="aa68944d1d8c9f59bdc8b01a367a8365e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa68944d1d8c9f59bdc8b01a367a8365e">&#9670;&nbsp;</a></span>sdrv_lin_set_baudrate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_set_baudrate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>baud</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configure lin baud rate. </p>
<p >This function configures the lin module baud rate. This function is used to update the lin module baud rate. after the lin module is initialized by the sdrv_lin_init.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>sdrv lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">baud</td><td>baud </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Setting lin baudrate success. STATUS_INVALID_PARAM : The param is unvalid. STATUS_UNINIT : The lin entity is uninitialized. </dd></dl>
</div>
</div>
<a id="ad2ec57ecce679142017fdd6e9b9b15da" name="ad2ec57ecce679142017fdd6e9b9b15da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2ec57ecce679142017fdd6e9b9b15da">&#9670;&nbsp;</a></span>sdrv_lin_transmit_status_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_transmit_status_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>bytes_remaining</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get LIN transmit status. </p>
<p >This function get status of transmit frame.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">bytes_remaining</td><td>the number of bytes that still needed to transmit </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Lin transmit the frame success. STATUS_BUSY : Lin transmit the frame not finished. STATUS_FAIL : Lin transmit the frame fail. </dd></dl>
</div>
</div>
<a id="ad317de84eb694ed65d9d85d930cd39bb" name="ad317de84eb694ed65d9d85d930cd39bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad317de84eb694ed65d9d85d930cd39bb">&#9670;&nbsp;</a></span>sdrv_lin_transmitframe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_transmitframe </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a0f6a9df5306935a1e00b44868fa297aa">sdrv_lin_pdu_t</a> *&#160;</td>
<td class="paramname"><em>lin_pdu</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>times</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN transmit frame. </p>
<p >This function transmit frame with a blocking method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">lin_pdu</td><td>the info of transmit param, include id: the id of current transfer; checksum: the checksum of current transfer; size: the data size of current transfer; data: the data buffer of current transfer. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">times</td><td>timeout count </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Triger lin transmit process success. STATUS_UNINIT : The lin entity is uninitialized. STATUS_SLEEP : The lin entity is sleepy. STATUS_BUSY : The lin bus is busy. STATUS_FAIL : The size of frame is bigger than 8. </dd></dl>
</div>
</div>
<a id="ac435afeca9484861b1c048da4a23c972" name="ac435afeca9484861b1c048da4a23c972"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac435afeca9484861b1c048da4a23c972">&#9670;&nbsp;</a></span>sdrv_lin_wakeup()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_wakeup </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN remote node wakeup. </p>
<p >This function wakup the remote node.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Send wakeup frame to slave node success. STATUS_UNINIT : The lin entity is uninitialized. STATUS_SLEEP : The lin entity is sleepy. STATUS_BUSY : The lin bus is busy. STATUS_FAIL : The size of frame is bigger than 8. </dd></dl>
</div>
</div>
<a id="a7d73061294e89e86564836870b79290d" name="a7d73061294e89e86564836870b79290d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d73061294e89e86564836870b79290d">&#9670;&nbsp;</a></span>sdrv_lin_wakeup_internal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sdrv__lin_8h.html#a19c3b0e951c683cbdf205fe3d744a9ad">lin_ret_status_e</a> sdrv_lin_wakeup_internal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="sdrv__lin_8h.html#a18de59e7970a8c8a060e48660ff45ad2">sdrv_lin_t</a> *&#160;</td>
<td class="paramname"><em>ctrl</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LIN node wakeup. </p>
<p >This function wakup this node.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>lin controller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>STATUS_SUCCESS : Set it's own state to LIN_CH_OPERATIONAL_STATE success. STATUS_UNINIT : The lin entity is uninitialized. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>