gnuk/ChibiOS_2.0.2/docs/html/struct_c_a_n_driver.html
2010-08-10 12:11:02 +09:00

297 lines
20 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: CANDriver Struct Reference</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>CANDriver Struct Reference<br/>
<small>
[<a class="el" href="group___c_a_n___l_l_d.html">CAN Low Level Driver</a>,&nbsp;<a class="el" href="group___s_t_m32___c_a_n.html">STM32 CAN Support</a>]</small>
</h1><!-- doxytag: class="CANDriver" -->
<p>Structure representing an CAN driver.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="templates_2can__lld_8h_source.html">can_lld.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for CANDriver:</div>
<div class="dynsection">
<div class="center"><img src="struct_c_a_n_driver__coll__graph.png" border="0" usemap="#_c_a_n_driver_coll__map" alt="Collaboration graph"/></div>
<map name="_c_a_n_driver_coll__map" id="_c_a_n_driver_coll__map">
<area shape="rect" href="struct_event_source.html" title="Event Source structure." alt="" coords="21,228,104,303"/>
<area shape="rect" href="struct_event_listener.html" title="Event Listener structure." alt="" coords="5,21,93,125"/>
<area shape="rect" href="struct_semaphore.html" title="Semaphore structure." alt="" coords="185,220,260,311"/>
<area shape="rect" href="struct_threads_queue.html" title="Generic threads bidirectional linked list header and element." alt="" coords="176,28,269,119"/>
<area shape="rect" href="struct_c_a_n_config.html" title="Driver configuration structure." alt="" coords="296,205,371,325"/>
<area shape="rect" href="struct_c_a_n_filter.html" title="CAN filter." alt="" coords="293,7,395,140"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___c_a_n.html#gaca62464ffdcedae03d49adf3f6ce870e">canstate_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a5ed8f92d00941a212ad798e05c001dcb">cd_state</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Driver state. <a href="#a5ed8f92d00941a212ad798e05c001dcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_c_a_n_config.html">CANConfig</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a06a64e755c1b87bf9f8156d7d19a4e41">cd_config</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current configuration data. <a href="#a06a64e755c1b87bf9f8156d7d19a4e41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_semaphore.html">Semaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a2d4f41efdd17ff64233fd636873601c7">cd_txsem</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transmission queue semaphore. <a href="#a2d4f41efdd17ff64233fd636873601c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_semaphore.html">Semaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#aae5656b95d7632b579d098e95c3c77d4">cd_rxsem</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive queue semaphore. <a href="#aae5656b95d7632b579d098e95c3c77d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#af26143d0b9fed9421e79fa4fcb7f3d4b">cd_rxfull_event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One or more frames become available. <a href="#af26143d0b9fed9421e79fa4fcb7f3d4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a39538106afd16adf6e1b2640458f5fa2">cd_txempty_event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One or more transmission slots become available. <a href="#a39538106afd16adf6e1b2640458f5fa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#aa4bc47b7806c2414382071f31b0cef89">cd_error_event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A CAN bus error happened. <a href="#aa4bc47b7806c2414382071f31b0cef89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m32___c_a_n.html#ga4a6894bc11434dfa96263dcd72735330">canstatus_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a149df5bb5907beae27b8623d432cb20a">cd_status</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error flags set when an error event is broadcasted. <a href="#a149df5bb5907beae27b8623d432cb20a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a424d4fd0c061b0237803c03c5815b450">cd_sleep_event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Entering sleep state event. <a href="#a424d4fd0c061b0237803c03c5815b450"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#ab860f0342e594220bd9428bed397614e">cd_wakeup_event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exiting sleep state event. <a href="#ab860f0342e594220bd9428bed397614e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CAN_TypeDef *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_a_n_driver.html#a31b00ae163f5975966d72f34461e96af">cd_can</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the CAN registers. <a href="#a31b00ae163f5975966d72f34461e96af"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Structure representing an CAN driver. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00155">155</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="a5ed8f92d00941a212ad798e05c001dcb"></a><!-- doxytag: member="CANDriver::cd_state" ref="a5ed8f92d00941a212ad798e05c001dcb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___c_a_n.html#gaca62464ffdcedae03d49adf3f6ce870e">canstate_t</a> <a class="el" href="struct_c_a_n_driver.html#a5ed8f92d00941a212ad798e05c001dcb">CANDriver::cd_state</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver state. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00159">159</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, <a class="el" href="group___c_a_n.html#ga557d845167f6ab4f224b036860411db5">canReceive()</a>, <a class="el" href="group___c_a_n.html#ga97caf4f277c09588c225ea2328a74cba">canSleep()</a>, <a class="el" href="group___c_a_n.html#ga05d2448864b2cae4674ed7e6f3c576b8">canStart()</a>, <a class="el" href="group___c_a_n.html#ga4e89a7d246119e077d27431a02586133">canStop()</a>, <a class="el" href="group___c_a_n.html#gad9c686d19b4319ef586af3631b779c6c">canTransmit()</a>, and <a class="el" href="group___c_a_n.html#ga09737d4ae5be724bf791a309e8a28dff">canWakeup()</a>.</p>
</div>
</div>
<a class="anchor" id="a06a64e755c1b87bf9f8156d7d19a4e41"></a><!-- doxytag: member="CANDriver::cd_config" ref="a06a64e755c1b87bf9f8156d7d19a4e41" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="struct_c_a_n_config.html">CANConfig</a> * <a class="el" href="struct_c_a_n_driver.html#a06a64e755c1b87bf9f8156d7d19a4e41">CANDriver::cd_config</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Current configuration data. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00163">163</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, and <a class="el" href="group___c_a_n.html#ga05d2448864b2cae4674ed7e6f3c576b8">canStart()</a>.</p>
</div>
</div>
<a class="anchor" id="a2d4f41efdd17ff64233fd636873601c7"></a><!-- doxytag: member="CANDriver::cd_txsem" ref="a2d4f41efdd17ff64233fd636873601c7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_semaphore.html">Semaphore</a> <a class="el" href="struct_c_a_n_driver.html#a2d4f41efdd17ff64233fd636873601c7">CANDriver::cd_txsem</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Transmission queue semaphore. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00167">167</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, <a class="el" href="group___c_a_n.html#ga4e89a7d246119e077d27431a02586133">canStop()</a>, and <a class="el" href="group___c_a_n.html#gad9c686d19b4319ef586af3631b779c6c">canTransmit()</a>.</p>
</div>
</div>
<a class="anchor" id="aae5656b95d7632b579d098e95c3c77d4"></a><!-- doxytag: member="CANDriver::cd_rxsem" ref="aae5656b95d7632b579d098e95c3c77d4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_semaphore.html">Semaphore</a> <a class="el" href="struct_c_a_n_driver.html#aae5656b95d7632b579d098e95c3c77d4">CANDriver::cd_rxsem</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receive queue semaphore. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00171">171</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, <a class="el" href="group___c_a_n.html#ga557d845167f6ab4f224b036860411db5">canReceive()</a>, and <a class="el" href="group___c_a_n.html#ga4e89a7d246119e077d27431a02586133">canStop()</a>.</p>
</div>
</div>
<a class="anchor" id="af26143d0b9fed9421e79fa4fcb7f3d4b"></a><!-- doxytag: member="CANDriver::cd_rxfull_event" ref="af26143d0b9fed9421e79fa4fcb7f3d4b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_event_source.html">EventSource</a> <a class="el" href="struct_c_a_n_driver.html#af26143d0b9fed9421e79fa4fcb7f3d4b">CANDriver::cd_rxfull_event</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>One or more frames become available. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>After broadcasting this event it will not be broadcasted again until the received frames queue has been completely emptied. It is <b>not</b> broadcasted for each received frame. It is responsibility of the application to empty the queue by repeatedly invoking <code>chReceive()</code> when listening to this event. This behavior minimizes the interrupt served by the system because CAN traffic. </dd></dl>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00181">181</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>.</p>
</div>
</div>
<a class="anchor" id="a39538106afd16adf6e1b2640458f5fa2"></a><!-- doxytag: member="CANDriver::cd_txempty_event" ref="a39538106afd16adf6e1b2640458f5fa2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_event_source.html">EventSource</a> <a class="el" href="struct_c_a_n_driver.html#a39538106afd16adf6e1b2640458f5fa2">CANDriver::cd_txempty_event</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>One or more transmission slots become available. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00185">185</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>.</p>
</div>
</div>
<a class="anchor" id="aa4bc47b7806c2414382071f31b0cef89"></a><!-- doxytag: member="CANDriver::cd_error_event" ref="aa4bc47b7806c2414382071f31b0cef89" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_event_source.html">EventSource</a> <a class="el" href="struct_c_a_n_driver.html#aa4bc47b7806c2414382071f31b0cef89">CANDriver::cd_error_event</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A CAN bus error happened. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00189">189</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>.</p>
</div>
</div>
<a class="anchor" id="a149df5bb5907beae27b8623d432cb20a"></a><!-- doxytag: member="CANDriver::cd_status" ref="a149df5bb5907beae27b8623d432cb20a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___s_t_m32___c_a_n.html#ga4a6894bc11434dfa96263dcd72735330">canstatus_t</a> <a class="el" href="struct_c_a_n_driver.html#a149df5bb5907beae27b8623d432cb20a">CANDriver::cd_status</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Error flags set when an error event is broadcasted. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00193">193</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#ga377a78b04ad6733e24b31615b76cdada">canGetAndClearFlags()</a>, <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, and <a class="el" href="group___c_a_n.html#ga4e89a7d246119e077d27431a02586133">canStop()</a>.</p>
</div>
</div>
<a class="anchor" id="a424d4fd0c061b0237803c03c5815b450"></a><!-- doxytag: member="CANDriver::cd_sleep_event" ref="a424d4fd0c061b0237803c03c5815b450" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_event_source.html">EventSource</a> <a class="el" href="struct_c_a_n_driver.html#a424d4fd0c061b0237803c03c5815b450">CANDriver::cd_sleep_event</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Entering sleep state event. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00198">198</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, and <a class="el" href="group___c_a_n.html#ga97caf4f277c09588c225ea2328a74cba">canSleep()</a>.</p>
</div>
</div>
<a class="anchor" id="ab860f0342e594220bd9428bed397614e"></a><!-- doxytag: member="CANDriver::cd_wakeup_event" ref="ab860f0342e594220bd9428bed397614e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_event_source.html">EventSource</a> <a class="el" href="struct_c_a_n_driver.html#ab860f0342e594220bd9428bed397614e">CANDriver::cd_wakeup_event</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Exiting sleep state event. </p>
<p>Definition at line <a class="el" href="templates_2can__lld_8h_source.html#l00202">202</a> of file <a class="el" href="templates_2can__lld_8h_source.html">templates/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___c_a_n.html#gadf8c892ca4bd2544d03be8a690885aef">canObjectInit()</a>, and <a class="el" href="group___c_a_n.html#ga09737d4ae5be724bf791a309e8a28dff">canWakeup()</a>.</p>
</div>
</div>
<a class="anchor" id="a31b00ae163f5975966d72f34461e96af"></a><!-- doxytag: member="CANDriver::cd_can" ref="a31b00ae163f5975966d72f34461e96af" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CAN_TypeDef* <a class="el" href="struct_c_a_n_driver.html#a31b00ae163f5975966d72f34461e96af">CANDriver::cd_can</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pointer to the CAN registers. </p>
<p>Definition at line <a class="el" href="platforms_2_s_t_m32_2can__lld_8h_source.html#l00290">290</a> of file <a class="el" href="platforms_2_s_t_m32_2can__lld_8h_source.html">platforms/STM32/can_lld.h</a>.</p>
<p>Referenced by <a class="el" href="group___s_t_m32___c_a_n.html#ga90f2254324f338714bfe1663eb73a2ba">can_lld_sleep()</a>, and <a class="el" href="group___s_t_m32___c_a_n.html#ga7a5e18d180ae064548783e6ac18903ba">can_lld_wakeup()</a>.</p>
</div>
</div>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on Sun Jul 11 13:13:32 2010 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.6.3</small></address>
</body>
</html>