realtek_ameba_mp_sdk/doc/api_doc/group__log__uart.html
2020-07-31 22:16:12 +08:00

1248 lines
59 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.11"/>
<title>SDK4.0: LOG_UART</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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">SDK4.0
</div>
<div id="projectbrief">This document shows Ameba SDK 4.0 APIs</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<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 class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</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 -->
<!-- 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 class="header">
<div class="headertitle">
<div class="title">LOG_UART<div class="ingroups"><a class="el" href="group__sdk.html">Ameba SDK</a> &raquo; <a class="el" href="group__hal.html">HAL</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>log_uart functions
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Ameba1 Only</h2></td></tr>
<tr class="memitem:gac186fa841990b8d325a2f2bf903c7d05"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gac186fa841990b8d325a2f2bf903c7d05">loguart_irq_handler</a>) (uint32_t id, LOG_UART_INT_ID event)</td></tr>
<tr class="separator:gac186fa841990b8d325a2f2bf903c7d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga337260735ca557765d1862851121c0fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga337260735ca557765d1862851121c0fa"></a>
typedef struct log_uart_s&#160;</td><td class="memItemRight" valign="bottom"><b>log_uart_t</b></td></tr>
<tr class="separator:ga337260735ca557765d1862851121c0fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f0ec48de6718a58be02fc91e768d22e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga1f0ec48de6718a58be02fc91e768d22e">log_uart_init</a> (log_uart_t *obj, int baudrate, int data_bits, <a class="el" href="group__uart.html#ga2c48912c12fd98a4f4faffbc7f20a9f6">SerialParity</a> parity, int stop_bits)</td></tr>
<tr class="memdesc:ga1f0ec48de6718a58be02fc91e768d22e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize Realtek log uart. Initialize the required parts of the log uart. i.e. baudrate, data bits, parity, etc. <a href="#ga1f0ec48de6718a58be02fc91e768d22e">More...</a><br /></td></tr>
<tr class="separator:ga1f0ec48de6718a58be02fc91e768d22e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f0a0ce05501883dedf87f8a21900117"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga2f0a0ce05501883dedf87f8a21900117">log_uart_free</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga2f0a0ce05501883dedf87f8a21900117"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the resources related to Realtek log uart. <a href="#ga2f0a0ce05501883dedf87f8a21900117">More...</a><br /></td></tr>
<tr class="separator:ga2f0a0ce05501883dedf87f8a21900117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f133ee63071891cd9ef92667b5150fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga6f133ee63071891cd9ef92667b5150fd">log_uart_baud</a> (log_uart_t *obj, int baudrate)</td></tr>
<tr class="memdesc:ga6f133ee63071891cd9ef92667b5150fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the baud rate of log uart. <a href="#ga6f133ee63071891cd9ef92667b5150fd">More...</a><br /></td></tr>
<tr class="separator:ga6f133ee63071891cd9ef92667b5150fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01c04c7adbbc05cc97ada6d7204240ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga01c04c7adbbc05cc97ada6d7204240ff">log_uart_format</a> (log_uart_t *obj, int data_bits, <a class="el" href="group__uart.html#ga2c48912c12fd98a4f4faffbc7f20a9f6">SerialParity</a> parity, int stop_bits)</td></tr>
<tr class="memdesc:ga01c04c7adbbc05cc97ada6d7204240ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set parameters for log uart. including data bits, parity type and stop bits. <a href="#ga01c04c7adbbc05cc97ada6d7204240ff">More...</a><br /></td></tr>
<tr class="separator:ga01c04c7adbbc05cc97ada6d7204240ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga144b4a2d870db96589d47231808e70c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga144b4a2d870db96589d47231808e70c2">log_uart_irq_handler</a> (log_uart_t *obj, <a class="el" href="group__log__uart.html#gac186fa841990b8d325a2f2bf903c7d05">loguart_irq_handler</a> handler, uint32_t id)</td></tr>
<tr class="memdesc:ga144b4a2d870db96589d47231808e70c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set irq handler for log uart. <a href="#ga144b4a2d870db96589d47231808e70c2">More...</a><br /></td></tr>
<tr class="separator:ga144b4a2d870db96589d47231808e70c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4435d680434b7fc1cf26ac44f23e5fc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga4435d680434b7fc1cf26ac44f23e5fc7">log_uart_irq_set</a> (log_uart_t *obj, LOG_UART_INT_ID irq, uint32_t enable)</td></tr>
<tr class="memdesc:ga4435d680434b7fc1cf26ac44f23e5fc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable the specific irq indication ID. <a href="#ga4435d680434b7fc1cf26ac44f23e5fc7">More...</a><br /></td></tr>
<tr class="separator:ga4435d680434b7fc1cf26ac44f23e5fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a46e16879bb5ad68d96892e9acfd0ae"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga7a46e16879bb5ad68d96892e9acfd0ae">log_uart_getc</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga7a46e16879bb5ad68d96892e9acfd0ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one character from log uart. This function will block untill the log uart gets something to read. <a href="#ga7a46e16879bb5ad68d96892e9acfd0ae">More...</a><br /></td></tr>
<tr class="separator:ga7a46e16879bb5ad68d96892e9acfd0ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafdc38f728fde9fe57821b8f4e4f3ca32"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gafdc38f728fde9fe57821b8f4e4f3ca32">log_uart_putc</a> (log_uart_t *obj, char c)</td></tr>
<tr class="memdesc:gafdc38f728fde9fe57821b8f4e4f3ca32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write one character to log uart. This function will block untill the data is successfully written to log uart. <a href="#gafdc38f728fde9fe57821b8f4e4f3ca32">More...</a><br /></td></tr>
<tr class="separator:gafdc38f728fde9fe57821b8f4e4f3ca32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8aeaf315d7b778a6623d66da7bac1500"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga8aeaf315d7b778a6623d66da7bac1500">log_uart_readable</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga8aeaf315d7b778a6623d66da7bac1500"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether log uart is ready to read data. <a href="#ga8aeaf315d7b778a6623d66da7bac1500">More...</a><br /></td></tr>
<tr class="separator:ga8aeaf315d7b778a6623d66da7bac1500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0099aa71bf80e9c642fa45f56c80fea9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga0099aa71bf80e9c642fa45f56c80fea9">log_uart_writable</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga0099aa71bf80e9c642fa45f56c80fea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether log uart is ready to write data. <a href="#ga0099aa71bf80e9c642fa45f56c80fea9">More...</a><br /></td></tr>
<tr class="separator:ga0099aa71bf80e9c642fa45f56c80fea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga351df7bb84bf0acf9583c3d9534ac3a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga351df7bb84bf0acf9583c3d9534ac3a4">log_uart_clear</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga351df7bb84bf0acf9583c3d9534ac3a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear both data at log uart This function will clear data in both TX FIFO and RX FIFO of log uart. <a href="#ga351df7bb84bf0acf9583c3d9534ac3a4">More...</a><br /></td></tr>
<tr class="separator:ga351df7bb84bf0acf9583c3d9534ac3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecc4c2266670e857205ff92f1c72ef36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gaecc4c2266670e857205ff92f1c72ef36">log_uart_clear_tx</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:gaecc4c2266670e857205ff92f1c72ef36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear TX FIFO of log uart. <a href="#gaecc4c2266670e857205ff92f1c72ef36">More...</a><br /></td></tr>
<tr class="separator:gaecc4c2266670e857205ff92f1c72ef36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2684ffba5235571a913dd3e1ba242f3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga2684ffba5235571a913dd3e1ba242f3d">log_uart_clear_rx</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga2684ffba5235571a913dd3e1ba242f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear RX FIFO of log uart. <a href="#ga2684ffba5235571a913dd3e1ba242f3d">More...</a><br /></td></tr>
<tr class="separator:ga2684ffba5235571a913dd3e1ba242f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1bffd8b79f6d91388875a506dd8579b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gab1bffd8b79f6d91388875a506dd8579b">log_uart_break_set</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:gab1bffd8b79f6d91388875a506dd8579b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set break control for log uart. <a href="#gab1bffd8b79f6d91388875a506dd8579b">More...</a><br /></td></tr>
<tr class="separator:gab1bffd8b79f6d91388875a506dd8579b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfada86091d7c43d9ce92cd62e5f7cb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gacfada86091d7c43d9ce92cd62e5f7cb8">log_uart_break_clear</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:gacfada86091d7c43d9ce92cd62e5f7cb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear break control for log uart. <a href="#gacfada86091d7c43d9ce92cd62e5f7cb8">More...</a><br /></td></tr>
<tr class="separator:gacfada86091d7c43d9ce92cd62e5f7cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc7fce5676121013985895d8553df6f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gacc7fce5676121013985895d8553df6f1">log_uart_tx_comp_handler</a> (log_uart_t *obj, void *handler, uint32_t id)</td></tr>
<tr class="memdesc:gacc7fce5676121013985895d8553df6f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the handler for complete TX. <a href="#gacc7fce5676121013985895d8553df6f1">More...</a><br /></td></tr>
<tr class="separator:gacc7fce5676121013985895d8553df6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cf1318bc6c4082727882338b25dcee2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga1cf1318bc6c4082727882338b25dcee2">log_uart_rx_comp_handler</a> (log_uart_t *obj, void *handler, uint32_t id)</td></tr>
<tr class="memdesc:ga1cf1318bc6c4082727882338b25dcee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the handler for complete RX. <a href="#ga1cf1318bc6c4082727882338b25dcee2">More...</a><br /></td></tr>
<tr class="separator:ga1cf1318bc6c4082727882338b25dcee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca1ae22b9fa98e72d28bf45ef8b88fca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gaca1ae22b9fa98e72d28bf45ef8b88fca">log_uart_line_status_handler</a> (log_uart_t *obj, void *handler, uint32_t id)</td></tr>
<tr class="memdesc:gaca1ae22b9fa98e72d28bf45ef8b88fca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the handler for line status. <a href="#gaca1ae22b9fa98e72d28bf45ef8b88fca">More...</a><br /></td></tr>
<tr class="separator:gaca1ae22b9fa98e72d28bf45ef8b88fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67edb2501cc40be38d02f240dd3b0683"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga67edb2501cc40be38d02f240dd3b0683">log_uart_recv</a> (log_uart_t *obj, char *prxbuf, uint32_t len, uint32_t timeout_ms)</td></tr>
<tr class="memdesc:ga67edb2501cc40be38d02f240dd3b0683"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from log uart in blocking mode. <a href="#ga67edb2501cc40be38d02f240dd3b0683">More...</a><br /></td></tr>
<tr class="separator:ga67edb2501cc40be38d02f240dd3b0683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace0f006e11aa972f110ba6ae5731530c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gace0f006e11aa972f110ba6ae5731530c">log_uart_send</a> (log_uart_t *obj, char *ptxbuf, uint32_t len, uint32_t timeout_ms)</td></tr>
<tr class="memdesc:gace0f006e11aa972f110ba6ae5731530c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data to log uart in blocking mode. <a href="#gace0f006e11aa972f110ba6ae5731530c">More...</a><br /></td></tr>
<tr class="separator:gace0f006e11aa972f110ba6ae5731530c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1755a751fd11c7d6205b6f563ea35b6e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga1755a751fd11c7d6205b6f563ea35b6e">log_uart_recv_stream</a> (log_uart_t *obj, char *prxbuf, uint32_t len)</td></tr>
<tr class="memdesc:ga1755a751fd11c7d6205b6f563ea35b6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from log uart in interrupt mode(Non-blocking) <a href="#ga1755a751fd11c7d6205b6f563ea35b6e">More...</a><br /></td></tr>
<tr class="separator:ga1755a751fd11c7d6205b6f563ea35b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac22e9aa59d76aa1831605fb91e88dcc2"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#gac22e9aa59d76aa1831605fb91e88dcc2">log_uart_send_stream</a> (log_uart_t *obj, char *ptxbuf, uint32_t len)</td></tr>
<tr class="memdesc:gac22e9aa59d76aa1831605fb91e88dcc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data to log uart in interrupt mode(Non-blocking) <a href="#gac22e9aa59d76aa1831605fb91e88dcc2">More...</a><br /></td></tr>
<tr class="separator:gac22e9aa59d76aa1831605fb91e88dcc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32b25a47aac4ce91df4d7ce5cc4ca289"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga32b25a47aac4ce91df4d7ce5cc4ca289">log_uart_recv_stream_timeout</a> (log_uart_t *obj, char *prxbuf, uint32_t len, uint32_t timeout_ms, void *force_cs)</td></tr>
<tr class="memdesc:ga32b25a47aac4ce91df4d7ce5cc4ca289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from log uart with a given timeout in interrupt mode(Non-blocking) <a href="#ga32b25a47aac4ce91df4d7ce5cc4ca289">More...</a><br /></td></tr>
<tr class="separator:ga32b25a47aac4ce91df4d7ce5cc4ca289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga997fb266c39b1cc8ae3952bba3d85eaa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga997fb266c39b1cc8ae3952bba3d85eaa">log_uart_send_stream_abort</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga997fb266c39b1cc8ae3952bba3d85eaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort interrupt mode of sending data. <a href="#ga997fb266c39b1cc8ae3952bba3d85eaa">More...</a><br /></td></tr>
<tr class="separator:ga997fb266c39b1cc8ae3952bba3d85eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga059f258b1edbe6235891054c8ab7c403"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga059f258b1edbe6235891054c8ab7c403">log_uart_recv_stream_abort</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga059f258b1edbe6235891054c8ab7c403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort interrupt mode of receiving data. <a href="#ga059f258b1edbe6235891054c8ab7c403">More...</a><br /></td></tr>
<tr class="separator:ga059f258b1edbe6235891054c8ab7c403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24e22338a8a75f84003fff313bc8d153"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga24e22338a8a75f84003fff313bc8d153">log_uart_disable</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga24e22338a8a75f84003fff313bc8d153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable log uart. <a href="#ga24e22338a8a75f84003fff313bc8d153">More...</a><br /></td></tr>
<tr class="separator:ga24e22338a8a75f84003fff313bc8d153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83bd9c098e177e65cf24eccab7dcf3ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga83bd9c098e177e65cf24eccab7dcf3ea">log_uart_enable</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga83bd9c098e177e65cf24eccab7dcf3ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable log uart. <a href="#ga83bd9c098e177e65cf24eccab7dcf3ea">More...</a><br /></td></tr>
<tr class="separator:ga83bd9c098e177e65cf24eccab7dcf3ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1adbef6fb1d854f00cafad631debb765"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga1adbef6fb1d854f00cafad631debb765">log_uart_raed_lsr</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga1adbef6fb1d854f00cafad631debb765"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read Line-Status register. <a href="#ga1adbef6fb1d854f00cafad631debb765">More...</a><br /></td></tr>
<tr class="separator:ga1adbef6fb1d854f00cafad631debb765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c5d369e4188e575f1573c2469f9deca"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log__uart.html#ga3c5d369e4188e575f1573c2469f9deca">log_uart_raed_msr</a> (log_uart_t *obj)</td></tr>
<tr class="memdesc:ga3c5d369e4188e575f1573c2469f9deca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read Modem-Status register. <a href="#ga3c5d369e4188e575f1573c2469f9deca">More...</a><br /></td></tr>
<tr class="separator:ga3c5d369e4188e575f1573c2469f9deca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>log_uart functions </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gac186fa841990b8d325a2f2bf903c7d05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* loguart_irq_handler) (uint32_t id, LOG_UART_INT_ID event)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Log uart irq handler function pointer type</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>: The argument for log uart interrupt handler </td></tr>
<tr><td class="paramname">event</td><td>: The log uart interrupt indication ID. More details is shown in hal_log_uart.h </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6f133ee63071891cd9ef92667b5150fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_baud </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>baudrate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the baud rate of log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">baudrate</td><td>Baud rate of the log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gacfada86091d7c43d9ce92cd62e5f7cb8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_break_clear </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear break control for log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gab1bffd8b79f6d91388875a506dd8579b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_break_set </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set break control for log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga351df7bb84bf0acf9583c3d9534ac3a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_clear </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear both data at log uart This function will clear data in both TX FIFO and RX FIFO of log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga2684ffba5235571a913dd3e1ba242f3d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_clear_rx </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear RX FIFO of log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gaecc4c2266670e857205ff92f1c72ef36"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_clear_tx </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear TX FIFO of log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga24e22338a8a75f84003fff313bc8d153"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_disable </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disable log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="ga83bd9c098e177e65cf24eccab7dcf3ea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_enable </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="ga01c04c7adbbc05cc97ada6d7204240ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_format </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>data_bits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__uart.html#ga2c48912c12fd98a4f4faffbc7f20a9f6">SerialParity</a>&#160;</td>
<td class="paramname"><em>parity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>stop_bits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set parameters for log uart. including data bits, parity type and stop bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_bits</td><td>Data bits of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">parity</td><td>Parity type of the log uart object<ul>
<li>ParityNone, - Do not use parity</li>
<li>ParityOdd, - Use odd parity</li>
<li>ParityEven, - Use even parity</li>
<li>ParityForced1, - Use even parity, the same as ParityEven</li>
<li>ParityForced0 - Use odd parity, the same as ParityOdd </li>
</ul>
</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">stop_bits</td><td>The number of stop bits for the log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga2f0a0ce05501883dedf87f8a21900117"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_free </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Release the resources related to Realtek log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga7a46e16879bb5ad68d96892e9acfd0ae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char log_uart_getc </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read one character from log uart. This function will block untill the log uart gets something to read. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the character read from log uart </dd></dl>
</div>
</div>
<a class="anchor" id="ga1f0ec48de6718a58be02fc91e768d22e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_init </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>baudrate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>data_bits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__uart.html#ga2c48912c12fd98a4f4faffbc7f20a9f6">SerialParity</a>&#160;</td>
<td class="paramname"><em>parity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>stop_bits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize Realtek log uart. Initialize the required parts of the log uart. i.e. baudrate, data bits, parity, etc. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">baudrate</td><td>Baud rate of the log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_bits</td><td>Data bits of the log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">parity</td><td>Parity type of the log uart object<ul>
<li>ParityNone, - Do not use parity</li>
<li>ParityOdd, - Use odd parity</li>
<li>ParityEven, - Use even parity</li>
<li>ParityForced1, - Use even parity, the same as ParityEven</li>
<li>ParityForced0 - Use odd parity, the same as ParityOdd </li>
</ul>
</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">stop_bits</td><td>The number of stop bits for the log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if initialization is successful, -1 otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="ga144b4a2d870db96589d47231808e70c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_irq_handler </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__log__uart.html#gac186fa841990b8d325a2f2bf903c7d05">loguart_irq_handler</a>&#160;</td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set irq handler for log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td>The interrupt handler for log uart. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The argument for log uart interrupt handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga4435d680434b7fc1cf26ac44f23e5fc7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_irq_set </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LOG_UART_INT_ID&#160;</td>
<td class="paramname"><em>irq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable/disable the specific irq indication ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">irq</td><td>The log uart interrupt indication ID which will be enabled/disabled. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>1 enable, 0 disable </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gaca1ae22b9fa98e72d28bf45ef8b88fca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_line_status_handler </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the handler for line status. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td>The function which is called when log uart gets an line status indication ID. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The parameter for handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gafdc38f728fde9fe57821b8f4e4f3ca32"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_putc </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write one character to log uart. This function will block untill the data is successfully written to log uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>The one byte data to be written to log uart. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga1adbef6fb1d854f00cafad631debb765"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t log_uart_raed_lsr </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read Line-Status register. </p>
<dl class="section return"><dt>Returns</dt><dd>value:<ul>
<li>Bit 0: RX Data Ready</li>
<li>Bit 1: Overrun Error</li>
<li>Bit 2: Parity Error</li>
<li>Bit 3: Framing Error</li>
<li>Bit 4: Break Interrupt (received data input is held in 0 state for a longer than a full word tx time)</li>
<li>Bit 5: TX FIFO empty (THR empty)</li>
<li>Bit 6: TX FIFO empty (THR &amp; TSR both empty)</li>
<li>Bit 7: Receiver FIFO Error (parity error, framing error or break indication) </li>
</ul>
</dd></dl>
</div>
</div>
<a class="anchor" id="ga3c5d369e4188e575f1573c2469f9deca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t log_uart_raed_msr </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read Modem-Status register. </p>
<dl class="section return"><dt>Returns</dt><dd>value:<ul>
<li>Bit 0: DCTS, The CTS line has changed its state</li>
<li>Bit 1: DDSR, The DSR line has changed its state</li>
<li>Bit 2: TERI, RI line has changed its state from low to high state</li>
<li>Bit 3: DDCD, DCD line has changed its state</li>
<li>Bit 4: Complement of the CTS input</li>
<li>Bit 5: Complement of the DSR input</li>
<li>Bit 6: Complement of the RI input</li>
<li>Bit 7: Complement of the DCD input </li>
</ul>
</dd></dl>
</div>
</div>
<a class="anchor" id="ga8aeaf315d7b778a6623d66da7bac1500"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int log_uart_readable </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check whether log uart is ready to read data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if there is data at log uart to be read, 0 otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="ga67edb2501cc40be38d02f240dd3b0683"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_recv </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>prxbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout_ms</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read data from log uart in blocking mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">prxbuf</td><td>The buffer to store received data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The maximum length of data to be read </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout_ms</td><td>Blocking time in ms. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of received data in bytes </dd></dl>
</div>
</div>
<a class="anchor" id="ga1755a751fd11c7d6205b6f563ea35b6e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_recv_stream </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>prxbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read data from log uart in interrupt mode(Non-blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">prxbuf</td><td>The buffer to store received data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The maximum length of data to be read </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success </dd></dl>
</div>
</div>
<a class="anchor" id="ga059f258b1edbe6235891054c8ab7c403"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_recv_stream_abort </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Abort interrupt mode of receiving data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of data received from log uart. </dd></dl>
</div>
</div>
<a class="anchor" id="ga32b25a47aac4ce91df4d7ce5cc4ca289"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_recv_stream_timeout </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>prxbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout_ms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>force_cs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read data from log uart with a given timeout in interrupt mode(Non-blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">prxbuf</td><td>The buffer to store received data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The maximum length of data to be read </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout_ms</td><td>The timeout for reading data in ms </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">force_cs</td><td>User callback function </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length in Byte of received data before timeout, or error (&lt; 0) </dd></dl>
</div>
</div>
<a class="anchor" id="ga1cf1318bc6c4082727882338b25dcee2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_rx_comp_handler </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the handler for complete RX. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td>The function which is called when log uart has finished receving data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The parameter for handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="gace0f006e11aa972f110ba6ae5731530c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_send </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>ptxbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout_ms</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send data to log uart in blocking mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ptxbuf</td><td>Data buffer to be sent to log uart </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Length of data to be sent to log uart </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout_ms</td><td>Blocking time in ms. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of sent data in bytes </dd></dl>
</div>
</div>
<a class="anchor" id="gac22e9aa59d76aa1831605fb91e88dcc2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_send_stream </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>ptxbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send data to log uart in interrupt mode(Non-blocking) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ptxbuf</td><td>Data buffer to be sent to log uart </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Length of data to be sent to log uart </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success </dd></dl>
</div>
</div>
<a class="anchor" id="ga997fb266c39b1cc8ae3952bba3d85eaa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t log_uart_send_stream_abort </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Abort interrupt mode of sending data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of data sent to log uart. </dd></dl>
</div>
</div>
<a class="anchor" id="gacc7fce5676121013985895d8553df6f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void log_uart_tx_comp_handler </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the handler for complete TX. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td>The function which is called when log uart has finished transmitting data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The parameter for handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a class="anchor" id="ga0099aa71bf80e9c642fa45f56c80fea9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int log_uart_writable </td>
<td>(</td>
<td class="paramtype">log_uart_t *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check whether log uart is ready to write data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">obj</td><td>The address of log uart object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if log uart is ready for writing, 0 otherwise </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>