-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
150 lines (148 loc) · 9.11 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!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.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenDemo: CANopenDemo</title>
<link rel="icon" href="CANopenNode.png" type="image/x-icon" />
<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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.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="projectlogo"><img alt="Logo" src="CANopenNode.png"/></td>
<td id="projectalign">
<div id="projectname">CANopenDemo
</div>
<div id="projectbrief">CANopenNode demo, tutorial and testing</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @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&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- 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><div class="header">
<div class="headertitle"><div class="title">CANopenDemo </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="readmeCANopenDemo"></a></p>
<p>CANopenDemo includes demo program with CANopenNode, tutorial and testing tools.</p>
<p>It is based on <a href="https://github.com/CANopenNode/CANopenNode">CANopenNode</a>, which is free and open source CANopen Stack and is included as a git submodule.</p>
<p>CANopen is the internationally standardized (EN 50325-4) (<a href="http://can-cia.org/standardization/technical-documents">CiA301</a>) CAN-based higher-layer protocol for embedded control system. For more information on CANopen see <a href="http://www.can-cia.org/">http://www.can-cia.org/</a></p>
<p>CANopenDemo homepage is <a href="https://github.com/CANopenNode/CANopenDemo">https://github.com/CANopenNode/CANopenDemo</a></p>
<h1><a class="anchor" id="autotoc_md0"></a>
Getting or updating the project</h1>
<p>Clone the project from git repository and get submodules: </p><pre class="fragment">git clone https://github.com/CANopenNode/CANopenDemo.git
cd CANopenDemo
git submodule update --init --recursive
</pre><p> There are several git submodules in CANopenDemo, see file <code>.gitmodules</code>. Some submodules, like <code>CANopenLinux</code> includes own git submodule <code>CANopenNode</code>, which is also updated with the above command.</p>
<p>If repositories are clean, the project can be updated by the following commands: </p><pre class="fragment">cd CANopenDemo
git pull
git submodule update --init --recursive
</pre><h1><a class="anchor" id="autotoc_md1"></a>
Object Dictionary Editor</h1>
<p>Use <a href="https://github.com/CANopenNode/CANopenEditor">CANopenEditor</a> to edit the object dictionary. Binaries are available, editor runs also in Linux with mono. Just run the <code>EDSEditor.exe</code> as a GUI application. You can open the <code>demoDevice.xdd</code> file, make changes according to your needs, export demoDevice.eds or demoDevice.md file, generate C source files for object dictionary (<a class="el" href="OD_8h_source.html">OD.h</a> and OD.c), etc.</p>
<h1><a class="anchor" id="autotoc_md2"></a>
CANopen demoDevice</h1>
<p>CANopen demoDevice can run on different target devices. It contains object dictionary with most common communication parameters and some additional manufacturer specific and device profile parameters. Simple example program run from application interface and shows some principles of CANopenNode usage.</p>
<p>See <a class="el" href="md_demo_2README.html">demo/README.md</a>.</p>
<h1><a class="anchor" id="autotoc_md3"></a>
CANopenLinux</h1>
<p>CANopenLinux is a CANopen stack running on Linux devices. It has full CANopen functionality with additional CANopen ASCII command interface (gateway) It can be used as a commander for other CANopen devices: NMT master, LSS master, SDO client, etc.</p>
<p>See CANopenLinux/README.md.</p>
<h1><a class="anchor" id="autotoc_md4"></a>
Tutorial</h1>
<ul>
<li><a class="el" href="md_tutorial_2README.html">tutorial/README.md</a> - Configuration and basics.</li>
<li><a class="el" href="md_tutorial_2LSS.html">tutorial/LSS.md</a> - Assigning Node-ID or CAN bitrate to devices, which support LSS configuration.</li>
<li><a class="el" href="md_tutorial_2SDO.html">tutorial/SDO.md</a> - Further SDO access to the <a class="el" href="md_demo_2README.html">demoDevice</a> parameters.</li>
<li><a class="el" href="md_tutorial_2PDO.html">tutorial/PDO.md</a> - Demonstration of Process Data Objects.</li>
</ul>
<h1><a class="anchor" id="autotoc_md5"></a>
CANopen testing</h1>
<p>Tests on Running CANopen network are implemented with two CANopenNode devices, running on CAN interface. First is CANopenLinux device with gateway interface, second is CANopen demoDevice.</p>
<p>Tests are run in Linux command line with <a href="https://github.com/bats-core/bats-core">Bash Automated Testing System - BATS</a>, which is included in CANopenDemo as three git submodules.</p>
<p>See <a class="el" href="md_test_2README.html">test/README.md</a>.</p>
<h1><a class="anchor" id="autotoc_md6"></a>
Html documentation</h1>
<p>CANopenNode.github.io is a git submodule with html documentation for CANopenDemo, CANopenNode and other devices. It is available also online at <a href="https://canopennode.github.io">https://canopennode.github.io</a>. Documentation is generated by doxygen. Documentation is generated separately for: CANopenNode, CANopenLinux (+ other target devices) and CANopenDemo. There are some links in the menu between different documentations. CANopenNode also contains tagfile which enables links to it from CANopenLinux and CANopenDemo.</p>
<p>To update the documentation of the CANopenNode.github.io install tools and generate all files: </p><pre class="fragment">sudo apt install doxygen graphviz pdf2svg
./update_docs.sh
</pre><h1><a class="anchor" id="autotoc_md7"></a>
License</h1>
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </p>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"/>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>