Skip to content

Commit

Permalink
deploy: 481a78c
Browse files Browse the repository at this point in the history
  • Loading branch information
jhwang04 committed Aug 3, 2024
1 parent 07b3a8a commit efe3e89
Show file tree
Hide file tree
Showing 125 changed files with 4,771 additions and 2,488 deletions.
296 changes: 148 additions & 148 deletions AMSInterface_8cpp_source.html

Large diffs are not rendered by default.

244 changes: 195 additions & 49 deletions AMS__interface__test_8h.html

Large diffs are not rendered by default.

206 changes: 151 additions & 55 deletions AMS__interface__test_8h_source.html

Large diffs are not rendered by default.

266 changes: 266 additions & 0 deletions CAN__testing__utilities_8h.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
<!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" lang="en-US">
<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.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MCU: test/test_interfaces/CAN_testing_utilities.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">MCU
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_13e138d54eb8818da29c3992edef070a.html">test</a></li><li class="navelem"><a class="el" href="dir_5ed425ce4b6c3b7b94ddf84a7a710f83.html">test_interfaces</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">CAN_testing_utilities.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;Arduino.h&gt;</code><br />
</div>
<p><a href="CAN__testing__utilities_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="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae0418d6c762cbfad40d20dd9771db812"><td class="memItemLeft" align="right" valign="top">CAN_message_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CAN__testing__utilities_8h.html#ae0418d6c762cbfad40d20dd9771db812">generate_can_msg_from_uint_16s</a> (uint16_t first, uint16_t second, uint16_t third, uint16_t fourth, bool use_little_endian)</td></tr>
<tr class="separator:ae0418d6c762cbfad40d20dd9771db812"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fba3a2adf43c1fdccee66f528383a87"><td class="memItemLeft" align="right" valign="top">CAN_message_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CAN__testing__utilities_8h.html#a6fba3a2adf43c1fdccee66f528383a87">generate_can_msg_from_uint_32s</a> (uint32_t first, uint32_t second, bool use_little_endian)</td></tr>
<tr class="separator:a6fba3a2adf43c1fdccee66f528383a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae0418d6c762cbfad40d20dd9771db812" name="ae0418d6c762cbfad40d20dd9771db812"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0418d6c762cbfad40d20dd9771db812">&#9670;&#160;</a></span>generate_can_msg_from_uint_16s()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CAN_message_t generate_can_msg_from_uint_16s </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>second</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>third</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>fourth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>use_little_endian</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p >Generates a CAN message containing the given data. This handles the byte-swapping (because of big-endian) automatically.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">first</td><td>The leftmost 16 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">second</td><td>The second-leftmost 16 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">third</td><td>The second-rightmost 16 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">fourth</td><td>The rightmost 16 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">use_little_endian</td><td>True if the bytes will be READ OFF OF THE CAN LINE using little-endian. If the unpack function expects the number 0013 to be on the CAN line as 00 13, then set this to true. If the unpack function expects the number 0013 to be on the CAN line as 13 00, then set this to false.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A CAN_message_t with ONLY its data set (not the ID or any other bits) </dd></dl>

<p class="definition">Definition at line <a class="el" href="CAN__testing__utilities_8h_source.html#l00016">16</a> of file <a class="el" href="CAN__testing__utilities_8h_source.html">CAN_testing_utilities.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 17</span>{</div>
<div class="line"><span class="lineno"> 18</span> </div>
<div class="line"><span class="lineno"> 19</span> CAN_message_t can_msg;</div>
<div class="line"><span class="lineno"> 20</span> </div>
<div class="line"><span class="lineno"> 21</span> uint16_t actual_first = first, actual_second = second, actual_third = third, actual_fourth = fourth;</div>
<div class="line"><span class="lineno"> 22</span> </div>
<div class="line"><span class="lineno"> 23</span> <span class="comment">// By default, uint16s are saved in memory using big-endian, by byte. This means that if you say &quot;uint16_t x = 0x0013&quot;, this will be saved</span></div>
<div class="line"><span class="lineno"> 24</span> <span class="comment">// in memory as 1300. If the bits SHOULD be on the CAN line using big-endian, then this is fine. However, if the bits SHOULD be on the CAN</span></div>
<div class="line"><span class="lineno"> 25</span> <span class="comment">// line as little-endian, then we need to invert the bytes before copying the memory into the CAN buffer.</span></div>
<div class="line"><span class="lineno"> 26</span> <span class="keywordflow">if</span> (use_little_endian) {</div>
<div class="line"><span class="lineno"> 27</span> actual_first = (uint16_t) ( (0x00FFU &amp; first) &lt;&lt; 8U | (0xFF00U &amp; first) &gt;&gt; 8U );</div>
<div class="line"><span class="lineno"> 28</span> actual_second = (uint16_t) ( (0x00FFU &amp; second) &lt;&lt; 8U | (0xFF00U &amp; second) &gt;&gt; 8U );</div>
<div class="line"><span class="lineno"> 29</span> actual_third = (uint16_t) ( (0x00FFU &amp; third) &lt;&lt; 8U | (0xFF00U &amp; third) &gt;&gt; 8U );</div>
<div class="line"><span class="lineno"> 30</span> actual_fourth = (uint16_t) ( (0x00FFU &amp; fourth) &lt;&lt; 8U | (0xFF00U &amp; fourth) &gt;&gt; 8U );</div>
<div class="line"><span class="lineno"> 31</span> }</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> <span class="comment">// Places expected values into buffer</span></div>
<div class="line"><span class="lineno"> 34</span> memcpy(&amp;can_msg.buf, &amp;actual_first, <span class="keyword">sizeof</span>(uint16_t));</div>
<div class="line"><span class="lineno"> 35</span> memcpy(&amp;can_msg.buf[2], &amp;actual_second, <span class="keyword">sizeof</span>(uint16_t));</div>
<div class="line"><span class="lineno"> 36</span> memcpy(&amp;can_msg.buf[4], &amp;actual_third, <span class="keyword">sizeof</span>(uint16_t));</div>
<div class="line"><span class="lineno"> 37</span> memcpy(&amp;can_msg.buf[6], &amp;actual_fourth, <span class="keyword">sizeof</span>(uint16_t));</div>
<div class="line"><span class="lineno"> 38</span> </div>
<div class="line"><span class="lineno"> 39</span> <span class="keywordflow">return</span> can_msg;</div>
<div class="line"><span class="lineno"> 40</span> </div>
<div class="line"><span class="lineno"> 41</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6fba3a2adf43c1fdccee66f528383a87" name="a6fba3a2adf43c1fdccee66f528383a87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fba3a2adf43c1fdccee66f528383a87">&#9670;&#160;</a></span>generate_can_msg_from_uint_32s()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CAN_message_t generate_can_msg_from_uint_32s </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>second</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>use_little_endian</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p >Generates a CAN message containing the given data. This handles the byte-swapping (because of big-endian) automatically.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">first</td><td>The leftmost 32 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">second</td><td>The second-leftmost 32 bits of this CAN message's 64 bits. </td></tr>
<tr><td class="paramname">use_little_endian</td><td>True if the bytes will be READ OFF OF THE CAN LINE using little-endian. If the unpack function expects the number 00000013 (hex) to be on the CAN line as 00 00 00 13, then set this to true. If the unpack function expects the number 00000013 to be on the CAN line as 13 00 00 00, then set this to false.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A CAN_message_t with ONLY its data set (not the ID or any other bits) </dd></dl>

<p class="definition">Definition at line <a class="el" href="CAN__testing__utilities_8h_source.html#l00054">54</a> of file <a class="el" href="CAN__testing__utilities_8h_source.html">CAN_testing_utilities.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 55</span>{</div>
<div class="line"><span class="lineno"> 56</span> </div>
<div class="line"><span class="lineno"> 57</span> CAN_message_t can_msg;</div>
<div class="line"><span class="lineno"> 58</span> </div>
<div class="line"><span class="lineno"> 59</span> uint32_t actual_first = first, actual_second = second;</div>
<div class="line"><span class="lineno"> 60</span> </div>
<div class="line"><span class="lineno"> 61</span> <span class="comment">// Expected values in CAN message. These are BIG-ENDIAN, by BYTE. The number 19 in hex</span></div>
<div class="line"><span class="lineno"> 62</span> <span class="comment">// is 0013, but we must declare it as 0x1300U with the least-sig byte and most-sig byte switched.</span></div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">if</span> (use_little_endian) {</div>
<div class="line"><span class="lineno"> 64</span> actual_first = (uint32_t) ( (0x000000FFU &amp; first) &lt;&lt; 24U | (0x0000FF00U &amp; first) &lt;&lt; 8U | (0x00FF0000U &amp; first) &gt;&gt; 8U | (0xFF000000U &amp; first) &gt;&gt; 24U);</div>
<div class="line"><span class="lineno"> 65</span> actual_second = (uint32_t) ( (0x000000FFU &amp; second) &lt;&lt; 24U | (0x0000FF00U &amp; second) &lt;&lt; 8U | (0x00FF0000U &amp; second) &gt;&gt; 8U | (0xFF000000U &amp; second) &gt;&gt; 24U);</div>
<div class="line"><span class="lineno"> 66</span> }</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">// Places expected values into buffer</span></div>
<div class="line"><span class="lineno"> 69</span> memcpy(&amp;can_msg.buf, &amp;actual_first, <span class="keyword">sizeof</span>(uint32_t));</div>
<div class="line"><span class="lineno"> 70</span> memcpy(&amp;can_msg.buf[4], &amp;actual_second, <span class="keyword">sizeof</span>(uint32_t));</div>
<div class="line"><span class="lineno"> 71</span> </div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">return</span> can_msg;</div>
<div class="line"><span class="lineno"> 73</span> </div>
<div class="line"><span class="lineno"> 74</span>}</div>
</div><!-- fragment -->
</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.5
</small></address>
</body>
</html>
Loading

0 comments on commit efe3e89

Please sign in to comment.