source: flair-dev/trunk/doc/Flair/classflair_1_1filter_1_1_control_law.html

Last change on this file was 100, checked in by Sanahuja Guillaume, 5 years ago

doc

File size: 38.7 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.9.1"/>
7<title>Flair: flair::filter::ControlLaw Class Reference</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script>
11<link href="navtree.css" rel="stylesheet" type="text/css"/>
12<script type="text/javascript" src="resize.js"></script>
13<script type="text/javascript" src="navtreedata.js"></script>
14<script type="text/javascript" src="navtree.js"></script>
15<script type="text/javascript">
16 $(document).ready(initResizable);
17 $(window).load(resizeHeight);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<script type="text/javascript">
23 $(document).ready(function() { init_search(); });
24</script>
25<link href="doxygen.css" rel="stylesheet" type="text/css" />
26</head>
27<body>
28<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
29<div id="titlearea">
30<table cellspacing="0" cellpadding="0">
31 <tbody>
32 <tr style="height: 56px;">
33 <td id="projectlogo"><img alt="Logo" src="logo_hds.png"/></td>
34 <td style="padding-left: 0.5em;">
35 <div id="projectname">Flair
36 </div>
37 <div id="projectbrief">Framework Libre Air</div>
38 </td>
39 </tr>
40 </tbody>
41</table>
42</div>
43<!-- end header part -->
44<!-- Generated by Doxygen 1.8.9.1 -->
45<script type="text/javascript">
46var searchBox = new SearchBox("searchBox", "search",false,'Search');
47</script>
48 <div id="navrow1" class="tabs">
49 <ul class="tablist">
50 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
51 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
52 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
53 <li><a href="files.html"><span>Files</span></a></li>
54 <li>
55 <div id="MSearchBox" class="MSearchBoxInactive">
56 <span class="left">
57 <img id="MSearchSelect" src="search/mag_sel.png"
58 onmouseover="return searchBox.OnSearchSelectShow()"
59 onmouseout="return searchBox.OnSearchSelectHide()"
60 alt=""/>
61 <input type="text" id="MSearchField" value="Search" accesskey="S"
62 onfocus="searchBox.OnSearchFieldFocus(true)"
63 onblur="searchBox.OnSearchFieldFocus(false)"
64 onkeyup="searchBox.OnSearchFieldChange(event)"/>
65 </span><span class="right">
66 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
67 </span>
68 </div>
69 </li>
70 </ul>
71 </div>
72 <div id="navrow2" class="tabs2">
73 <ul class="tablist">
74 <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
75 <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
76 <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
77 <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
78 </ul>
79 </div>
80</div><!-- top -->
81<div id="side-nav" class="ui-resizable side-nav-resizable">
82 <div id="nav-tree">
83 <div id="nav-tree-contents">
84 <div id="nav-sync" class="sync"></div>
85 </div>
86 </div>
87 <div id="splitbar" style="-moz-user-select:none;"
88 class="ui-resizable-handle">
89 </div>
90</div>
91<script type="text/javascript">
92$(document).ready(function(){initNavTree('classflair_1_1filter_1_1_control_law.html','');});
93</script>
94<div id="doc-content">
95<!-- window showing the filter options -->
96<div id="MSearchSelectWindow"
97 onmouseover="return searchBox.OnSearchSelectShow()"
98 onmouseout="return searchBox.OnSearchSelectHide()"
99 onkeydown="return searchBox.OnSearchSelectKey(event)">
100</div>
101
102<!-- iframe showing the search results (closed by default) -->
103<div id="MSearchResultsWindow">
104<iframe src="javascript:void(0)" frameborder="0"
105 name="MSearchResults" id="MSearchResults">
106</iframe>
107</div>
108
109<div class="header">
110 <div class="summary">
111<a href="#pub-methods">Public Member Functions</a> &#124;
112<a href="#pro-attribs">Protected Attributes</a> &#124;
113<a href="classflair_1_1filter_1_1_control_law-members.html">List of all members</a> </div>
114 <div class="headertitle">
115<div class="title">flair::filter::ControlLaw Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
116</div><!--header-->
117<div class="contents">
118
119<p>Base class for control law input must be created by reimplemented class.<br />
120output is created by this class, it is of size (nb_out,1) and type float.<br />
121see constructor for nb_out.
122 <a href="classflair_1_1filter_1_1_control_law.html#details">More...</a></p>
123
124<p><code>#include &lt;<a class="el" href="_control_law_8h_source.html">ControlLaw.h</a>&gt;</code></p>
125<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
126 <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for flair::filter::ControlLaw:</div>
127<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
128</div>
129<div id="dynsection-0-content" class="dyncontent" style="display:none;">
130 <div class="center">
131 <img src="classflair_1_1filter_1_1_control_law.png" usemap="#flair::filter::ControlLaw_map" alt=""/>
132 <map id="flair::filter::ControlLaw_map" name="flair::filter::ControlLaw_map">
133<area href="classflair_1_1core_1_1_i_o_device.html" title="Abstract class for input/ouput system. " alt="flair::core::IODevice" shape="rect" coords="145,56,280,80"/>
134<area href="classflair_1_1core_1_1_object.html" title="Base class for all Framework&#39;s classes. " alt="flair::core::Object" shape="rect" coords="145,0,280,24"/>
135<area href="classflair_1_1filter_1_1_nested_sat.html" title="Class defining a PID with saturations. " alt="flair::filter::NestedSat" shape="rect" coords="0,168,135,192"/>
136<area href="classflair_1_1filter_1_1_pid.html" title="Class defining a PID. " alt="flair::filter::Pid" shape="rect" coords="145,168,280,192"/>
137<area href="classflair_1_1filter_1_1_pid_thrust.html" title="Class defining a Pid for Thrust. This Pid as an extra offset for compensating gravity. " alt="flair::filter::PidThrust" shape="rect" coords="290,168,425,192"/>
138</map>
139 </div></div>
140<table class="memberdecls">
141<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
142Public Member Functions</h2></td></tr>
143<tr class="memitem:abd6d4ee32a9e01a2d1b0513a0aadafcb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#abd6d4ee32a9e01a2d1b0513a0aadafcb">ControlLaw</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">core::Object</a> *parent, std::string name, uint32_t nb_out=1)</td></tr>
144<tr class="memdesc:abd6d4ee32a9e01a2d1b0513a0aadafcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#abd6d4ee32a9e01a2d1b0513a0aadafcb">More...</a><br /></td></tr>
145<tr class="separator:abd6d4ee32a9e01a2d1b0513a0aadafcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<tr class="memitem:a62210ace4d3338cbc528ed712e72ac27"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#a62210ace4d3338cbc528ed712e72ac27">~ControlLaw</a> ()</td></tr>
147<tr class="memdesc:a62210ace4d3338cbc528ed712e72ac27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a62210ace4d3338cbc528ed712e72ac27">More...</a><br /></td></tr>
148<tr class="separator:a62210ace4d3338cbc528ed712e72ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:ace241d108bd0213135dbd6a5a561d0cf"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#ace241d108bd0213135dbd6a5a561d0cf">Output</a> (uint32_t index=0) const </td></tr>
150<tr class="memdesc:ace241d108bd0213135dbd6a5a561d0cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output value. <a href="#ace241d108bd0213135dbd6a5a561d0cf">More...</a><br /></td></tr>
151<tr class="separator:ace241d108bd0213135dbd6a5a561d0cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:a3c42c9c7ae276e10d2ebad3a6701210d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#a3c42c9c7ae276e10d2ebad3a6701210d">UseDefaultPlot</a> (const <a class="el" href="classflair_1_1gui_1_1_layout_position.html">gui::LayoutPosition</a> *position)</td></tr>
153<tr class="memdesc:a3c42c9c7ae276e10d2ebad3a6701210d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use default plot. <a href="#a3c42c9c7ae276e10d2ebad3a6701210d">More...</a><br /></td></tr>
154<tr class="separator:a3c42c9c7ae276e10d2ebad3a6701210d"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a228f8bf6857d96fa015bec9e016d2132"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#a228f8bf6857d96fa015bec9e016d2132">Update</a> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">core::Time</a> time)</td></tr>
156<tr class="memdesc:a228f8bf6857d96fa015bec9e016d2132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update using provided datas. <a href="#a228f8bf6857d96fa015bec9e016d2132">More...</a><br /></td></tr>
157<tr class="separator:a228f8bf6857d96fa015bec9e016d2132"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<tr class="memitem:a0892ecd37930c5d92a41449ab6fa1f10"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#a0892ecd37930c5d92a41449ab6fa1f10">Reset</a> ()</td></tr>
159<tr class="memdesc:a0892ecd37930c5d92a41449ab6fa1f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the internal state of the control law. <a href="#a0892ecd37930c5d92a41449ab6fa1f10">More...</a><br /></td></tr>
160<tr class="separator:a0892ecd37930c5d92a41449ab6fa1f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="inherit_header pub_methods_classflair_1_1core_1_1_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classflair_1_1core_1_1_i_o_device')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_i_o_device.html">flair::core::IODevice</a></td></tr>
162<tr class="memitem:a9693b497752b466891eaafeb34bec4d3 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a9693b497752b466891eaafeb34bec4d3">IODevice</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent, std::string name)</td></tr>
163<tr class="memdesc:a9693b497752b466891eaafeb34bec4d3 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a9693b497752b466891eaafeb34bec4d3">More...</a><br /></td></tr>
164<tr class="separator:a9693b497752b466891eaafeb34bec4d3 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a05246988b486def40926d8491e1bcc5f inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a05246988b486def40926d8491e1bcc5f">~IODevice</a> ()</td></tr>
166<tr class="memdesc:a05246988b486def40926d8491e1bcc5f inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a05246988b486def40926d8491e1bcc5f">More...</a><br /></td></tr>
167<tr class="separator:a05246988b486def40926d8491e1bcc5f inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:af7b42de6bb3893df860063228b55c229 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#af7b42de6bb3893df860063228b55c229">AddDeviceToLog</a> (const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">IODevice</a> *device)</td></tr>
169<tr class="memdesc:af7b42de6bb3893df860063228b55c229 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <a class="el" href="classflair_1_1core_1_1_i_o_device.html" title="Abstract class for input/ouput system. ">IODevice</a> to the logs. <a href="#af7b42de6bb3893df860063228b55c229">More...</a><br /></td></tr>
170<tr class="separator:af7b42de6bb3893df860063228b55c229 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:a2e0b7af75abdbf39843d8bf2e45f08b9 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a2e0b7af75abdbf39843d8bf2e45f08b9">AddDataToLog</a> (const <a class="el" href="classflair_1_1core_1_1io__data.html">io_data</a> *data)</td></tr>
172<tr class="memdesc:a2e0b7af75abdbf39843d8bf2e45f08b9 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <a class="el" href="classflair_1_1core_1_1io__data.html" title="Abstract class for data types. ">io_data</a> to the log. <a href="#a2e0b7af75abdbf39843d8bf2e45f08b9">More...</a><br /></td></tr>
173<tr class="separator:a2e0b7af75abdbf39843d8bf2e45f08b9 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:a12d811c6926fb86da6b47f889109da66 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a12d811c6926fb86da6b47f889109da66">OutputToShMem</a> (bool enabled)</td></tr>
175<tr class="memdesc:a12d811c6926fb86da6b47f889109da66 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the output to a shared memory. <a href="#a12d811c6926fb86da6b47f889109da66">More...</a><br /></td></tr>
176<tr class="separator:a12d811c6926fb86da6b47f889109da66 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:aee7828ae2eece2bace8e476dacc2bc12 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#aee7828ae2eece2bace8e476dacc2bc12">IsReady</a> (void) const </td></tr>
178<tr class="memdesc:aee7828ae2eece2bace8e476dacc2bc12 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">is device ready <a href="#aee7828ae2eece2bace8e476dacc2bc12">More...</a><br /></td></tr>
179<tr class="separator:aee7828ae2eece2bace8e476dacc2bc12 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="memitem:a75e82ca2ae2fb7c39d973dd3d16bc698 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75e82ca2ae2fb7c39d973dd3d16bc698"></a>
181virtual <a class="el" href="classflair_1_1core_1_1_data_type.html">DataType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetInputDataType</b> () const </td></tr>
182<tr class="separator:a75e82ca2ae2fb7c39d973dd3d16bc698 inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:aa325be57d48b268006120dde75dd65cc inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa325be57d48b268006120dde75dd65cc"></a>
184virtual <a class="el" href="classflair_1_1core_1_1_data_type.html">DataType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetOutputDataType</b> () const </td></tr>
185<tr class="separator:aa325be57d48b268006120dde75dd65cc inherit pub_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="inherit_header pub_methods_classflair_1_1core_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classflair_1_1core_1_1_object')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_object.html">flair::core::Object</a></td></tr>
187<tr class="memitem:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#aec92383fd5bf68d9df10414862b7e95c">Object</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent=NULL, std::string name=&quot;&quot;, std::string type=&quot;&quot;)</td></tr>
188<tr class="memdesc:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#aec92383fd5bf68d9df10414862b7e95c">More...</a><br /></td></tr>
189<tr class="separator:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
190<tr class="memitem:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#aa2bde0e6677bbef705c96c93cb06ad09">~Object</a> ()</td></tr>
191<tr class="memdesc:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#aa2bde0e6677bbef705c96c93cb06ad09">More...</a><br /></td></tr>
192<tr class="separator:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a9b0344dff7e1c05424d9152c8274523a">ObjectName</a> (void) const </td></tr>
194<tr class="memdesc:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name. <a href="#a9b0344dff7e1c05424d9152c8274523a">More...</a><br /></td></tr>
195<tr class="separator:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
196<tr class="memitem:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a609a250ec037fbcaf8957c8f1dcbfc53">ObjectType</a> (void) const </td></tr>
197<tr class="memdesc:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type. <a href="#a609a250ec037fbcaf8957c8f1dcbfc53">More...</a><br /></td></tr>
198<tr class="separator:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<tr class="memitem:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a360c112cc3017a5152ebf6e84d2efa70">Parent</a> (void) const </td></tr>
200<tr class="memdesc:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent. <a href="#a360c112cc3017a5152ebf6e84d2efa70">More...</a><br /></td></tr>
201<tr class="separator:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
202<tr class="memitem:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#ae22db4d723ec2d50b3ba48f26a6a770c">TypeChilds</a> (void) const </td></tr>
203<tr class="memdesc:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Childs of the same type. <a href="#ae22db4d723ec2d50b3ba48f26a6a770c">More...</a><br /></td></tr>
204<tr class="separator:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="memitem:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a344f81cd35805a9501098bf727ac1a10">Childs</a> (void) const </td></tr>
206<tr class="memdesc:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Childs. <a href="#a344f81cd35805a9501098bf727ac1a10">More...</a><br /></td></tr>
207<tr class="separator:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<tr class="memitem:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#af001feba14fc053aa778e61080a0b4cf">Information</a> (const char *function, int line, const char *format,...) const </td></tr>
209<tr class="memdesc:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted information. <a href="#af001feba14fc053aa778e61080a0b4cf">More...</a><br /></td></tr>
210<tr class="separator:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<tr class="memitem:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a168b18451b2ee6126e1e81d452005ff6">Warning</a> (const char *function, const char *format,...) const </td></tr>
212<tr class="memdesc:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted warning. <a href="#a168b18451b2ee6126e1e81d452005ff6">More...</a><br /></td></tr>
213<tr class="separator:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
214<tr class="memitem:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a3ca9694d29ec2b0491739879685df5ca">Error</a> (const char *function, const char *format,...) const </td></tr>
215<tr class="memdesc:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted error. <a href="#a3ca9694d29ec2b0491739879685df5ca">More...</a><br /></td></tr>
216<tr class="separator:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<tr class="memitem:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a36cdd7f556e78b1bddd1d1fe4264bb85">ErrorOccured</a> (bool recursive=true) const </td></tr>
218<tr class="memdesc:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has an errror occured? <a href="#a36cdd7f556e78b1bddd1d1fe4264bb85">More...</a><br /></td></tr>
219<tr class="separator:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
220</table><table class="memberdecls">
221<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
222Protected Attributes</h2></td></tr>
223<tr class="memitem:ab88bfe866cc8f9794bda115d57139ab8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_matrix.html">core::Matrix</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#ab88bfe866cc8f9794bda115d57139ab8">input</a></td></tr>
224<tr class="memdesc:ab88bfe866cc8f9794bda115d57139ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">input matrix <a href="#ab88bfe866cc8f9794bda115d57139ab8">More...</a><br /></td></tr>
225<tr class="separator:ab88bfe866cc8f9794bda115d57139ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
226<tr class="memitem:ad0ec9102c1f3d5cea5e337ba02754f4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_matrix.html">core::Matrix</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1filter_1_1_control_law.html#ad0ec9102c1f3d5cea5e337ba02754f4b">output</a></td></tr>
227<tr class="memdesc:ad0ec9102c1f3d5cea5e337ba02754f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">output matrix <a href="#ad0ec9102c1f3d5cea5e337ba02754f4b">More...</a><br /></td></tr>
228<tr class="separator:ad0ec9102c1f3d5cea5e337ba02754f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
229</table><table class="memberdecls">
230<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
231Additional Inherited Members</h2></td></tr>
232<tr class="inherit_header pub_types_classflair_1_1core_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classflair_1_1core_1_1_object')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classflair_1_1core_1_1_object.html">flair::core::Object</a></td></tr>
233<tr class="memitem:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed5fccda511f97487040fed29f4efc97"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>color_t</b> { <b>Auto</b> = 0,
234<b>Red</b> = 31,
235<b>Green</b> = 32,
236<b>Orange</b> = 33
237 }</td></tr>
238<tr class="separator:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
239<tr class="inherit_header pro_methods_classflair_1_1core_1_1_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classflair_1_1core_1_1_i_o_device')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_i_o_device.html">flair::core::IODevice</a></td></tr>
240<tr class="memitem:a3df9057ae23eb34f1b1dae8e7a4a9efc inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a3df9057ae23eb34f1b1dae8e7a4a9efc">ProcessUpdate</a> (<a class="el" href="classflair_1_1core_1_1io__data.html">io_data</a> *data)</td></tr>
241<tr class="memdesc:a3df9057ae23eb34f1b1dae8e7a4a9efc inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the childs of type <a class="el" href="classflair_1_1core_1_1_i_o_device.html" title="Abstract class for input/ouput system. ">IODevice</a>, and log if needed. <a href="#a3df9057ae23eb34f1b1dae8e7a4a9efc">More...</a><br /></td></tr>
242<tr class="separator:a3df9057ae23eb34f1b1dae8e7a4a9efc inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
243<tr class="memitem:a120fdcc3d50f6f076084cb6943fdf412 inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_i_o_device.html#a120fdcc3d50f6f076084cb6943fdf412">SetIsReady</a> (bool status)</td></tr>
244<tr class="memdesc:a120fdcc3d50f6f076084cb6943fdf412 inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">set is ready <a href="#a120fdcc3d50f6f076084cb6943fdf412">More...</a><br /></td></tr>
245<tr class="separator:a120fdcc3d50f6f076084cb6943fdf412 inherit pro_methods_classflair_1_1core_1_1_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
246</table>
247<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
248<div class="textblock"><p>Base class for control law input must be created by reimplemented class.<br />
249output is created by this class, it is of size (nb_out,1) and type float.<br />
250see constructor for nb_out. </p>
251</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
252<a class="anchor" id="abd6d4ee32a9e01a2d1b0513a0aadafcb"></a>
253<div class="memitem">
254<div class="memproto">
255 <table class="memname">
256 <tr>
257 <td class="memname">flair::filter::ControlLaw::ControlLaw </td>
258 <td>(</td>
259 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_object.html">core::Object</a> *&#160;</td>
260 <td class="paramname"><em>parent</em>, </td>
261 </tr>
262 <tr>
263 <td class="paramkey"></td>
264 <td></td>
265 <td class="paramtype">std::string&#160;</td>
266 <td class="paramname"><em>name</em>, </td>
267 </tr>
268 <tr>
269 <td class="paramkey"></td>
270 <td></td>
271 <td class="paramtype">uint32_t&#160;</td>
272 <td class="paramname"><em>nb_out</em> = <code>1</code>&#160;</td>
273 </tr>
274 <tr>
275 <td></td>
276 <td>)</td>
277 <td></td><td></td>
278 </tr>
279 </table>
280</div><div class="memdoc">
281
282<p>Constructor. </p>
283<p>Construct a <a class="el" href="classflair_1_1filter_1_1_control_law.html" title="Base class for control law input must be created by reimplemented class. output is created by this cl...">ControlLaw</a></p>
284<dl class="params"><dt>Parameters</dt><dd>
285 <table class="params">
286 <tr><td class="paramname">parent</td><td>parent </td></tr>
287 <tr><td class="paramname">name</td><td>name </td></tr>
288 <tr><td class="paramname">nb_out</td><td>number of output </td></tr>
289 </table>
290 </dd>
291</dl>
292
293</div>
294</div>
295<a class="anchor" id="a62210ace4d3338cbc528ed712e72ac27"></a>
296<div class="memitem">
297<div class="memproto">
298 <table class="memname">
299 <tr>
300 <td class="memname">flair::filter::ControlLaw::~ControlLaw </td>
301 <td>(</td>
302 <td class="paramname"></td><td>)</td>
303 <td></td>
304 </tr>
305 </table>
306</div><div class="memdoc">
307
308<p>Destructor. </p>
309
310</div>
311</div>
312<h2 class="groupheader">Member Function Documentation</h2>
313<a class="anchor" id="ace241d108bd0213135dbd6a5a561d0cf"></a>
314<div class="memitem">
315<div class="memproto">
316 <table class="memname">
317 <tr>
318 <td class="memname">float flair::filter::ControlLaw::Output </td>
319 <td>(</td>
320 <td class="paramtype">uint32_t&#160;</td>
321 <td class="paramname"><em>index</em> = <code>0</code></td><td>)</td>
322 <td> const</td>
323 </tr>
324 </table>
325</div><div class="memdoc">
326
327<p>Output value. </p>
328<dl class="params"><dt>Parameters</dt><dd>
329 <table class="params">
330 <tr><td class="paramname">index</td><td>output index, between 0 and nb_out-1</td></tr>
331 </table>
332 </dd>
333</dl>
334<dl class="section return"><dt>Returns</dt><dd>output value </dd></dl>
335
336</div>
337</div>
338<a class="anchor" id="a3c42c9c7ae276e10d2ebad3a6701210d"></a>
339<div class="memitem">
340<div class="memproto">
341<table class="mlabels">
342 <tr>
343 <td class="mlabels-left">
344 <table class="memname">
345 <tr>
346 <td class="memname">virtual void flair::filter::ControlLaw::UseDefaultPlot </td>
347 <td>(</td>
348 <td class="paramtype">const <a class="el" href="classflair_1_1gui_1_1_layout_position.html">gui::LayoutPosition</a> *&#160;</td>
349 <td class="paramname"><em>position</em></td><td>)</td>
350 <td></td>
351 </tr>
352 </table>
353 </td>
354 <td class="mlabels-right">
355<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
356 </tr>
357</table>
358</div><div class="memdoc">
359
360<p>Use default plot. </p>
361<p>Plot the output value at given position. <br />
362 Only Output(1,1) is plotted. <br />
363 In case of a mutliple output <a class="el" href="classflair_1_1filter_1_1_control_law.html" title="Base class for control law input must be created by reimplemented class. output is created by this cl...">ControlLaw</a>, this function should be reimplemented. <br />
364 After calling this function, position will be deleted as it is no longer usefull. <br />
365 </p><dl class="params"><dt>Parameters</dt><dd>
366 <table class="params">
367 <tr><td class="paramname">position</td><td>position to display plot </td></tr>
368 </table>
369 </dd>
370</dl>
371
372<p>Reimplemented in <a class="el" href="classflair_1_1filter_1_1_pid_thrust.html#a8b77f7720b1406f48baa3c43cf87765a">flair::filter::PidThrust</a>, and <a class="el" href="classflair_1_1filter_1_1_pid.html#a8128ecc530ff19abae93027d72d4b5ec">flair::filter::Pid</a>.</p>
373
374</div>
375</div>
376<a class="anchor" id="a228f8bf6857d96fa015bec9e016d2132"></a>
377<div class="memitem">
378<div class="memproto">
379 <table class="memname">
380 <tr>
381 <td class="memname">void flair::filter::ControlLaw::Update </td>
382 <td>(</td>
383 <td class="paramtype"><a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">core::Time</a>&#160;</td>
384 <td class="paramname"><em>time</em></td><td>)</td>
385 <td></td>
386 </tr>
387 </table>
388</div><div class="memdoc">
389
390<p>Update using provided datas. </p>
391<p>Reimplemented class must fill input matrix before calling this.</p>
392<dl class="params"><dt>Parameters</dt><dd>
393 <table class="params">
394 <tr><td class="paramname">time</td><td>time of the update </td></tr>
395 </table>
396 </dd>
397</dl>
398
399</div>
400</div>
401<a class="anchor" id="a0892ecd37930c5d92a41449ab6fa1f10"></a>
402<div class="memitem">
403<div class="memproto">
404<table class="mlabels">
405 <tr>
406 <td class="mlabels-left">
407 <table class="memname">
408 <tr>
409 <td class="memname">virtual void flair::filter::ControlLaw::Reset </td>
410 <td>(</td>
411 <td class="paramtype">void&#160;</td>
412 <td class="paramname"></td><td>)</td>
413 <td></td>
414 </tr>
415 </table>
416 </td>
417 <td class="mlabels-right">
418<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
419 </tr>
420</table>
421</div><div class="memdoc">
422
423<p>Reset the internal state of the control law. </p>
424<p>Does nothing by default </p>
425
426<p>Reimplemented in <a class="el" href="classflair_1_1filter_1_1_pid_thrust.html#a4987d6892e567cce5af9b22dcf065542">flair::filter::PidThrust</a>, and <a class="el" href="classflair_1_1filter_1_1_pid.html#a41573a79913af95cbb94d30225e913b6">flair::filter::Pid</a>.</p>
427
428</div>
429</div>
430<h2 class="groupheader">Member Data Documentation</h2>
431<a class="anchor" id="ab88bfe866cc8f9794bda115d57139ab8"></a>
432<div class="memitem">
433<div class="memproto">
434<table class="mlabels">
435 <tr>
436 <td class="mlabels-left">
437 <table class="memname">
438 <tr>
439 <td class="memname"><a class="el" href="classflair_1_1core_1_1_matrix.html">core::Matrix</a>* flair::filter::ControlLaw::input</td>
440 </tr>
441 </table>
442 </td>
443 <td class="mlabels-right">
444<span class="mlabels"><span class="mlabel">protected</span></span> </td>
445 </tr>
446</table>
447</div><div class="memdoc">
448
449<p>input matrix </p>
450<p>This matrix must be created by the reimplemented class. </p>
451
452</div>
453</div>
454<a class="anchor" id="ad0ec9102c1f3d5cea5e337ba02754f4b"></a>
455<div class="memitem">
456<div class="memproto">
457<table class="mlabels">
458 <tr>
459 <td class="mlabels-left">
460 <table class="memname">
461 <tr>
462 <td class="memname"><a class="el" href="classflair_1_1core_1_1_matrix.html">core::Matrix</a>* flair::filter::ControlLaw::output</td>
463 </tr>
464 </table>
465 </td>
466 <td class="mlabels-right">
467<span class="mlabels"><span class="mlabel">protected</span></span> </td>
468 </tr>
469</table>
470</div><div class="memdoc">
471
472<p>output matrix </p>
473<p>This matrix is created by this class. Its size is (nb_out,1) and its type is io_data::Float. </p>
474
475</div>
476</div>
477</div><!-- contents -->
478</div><!-- doc-content -->
479<!-- start footer part -->
480<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
481 <ul>
482 <li class="navelem"><a class="el" href="namespaceflair.html">flair</a></li><li class="navelem"><a class="el" href="namespaceflair_1_1filter.html">filter</a></li><li class="navelem"><a class="el" href="classflair_1_1filter_1_1_control_law.html">ControlLaw</a></li>
483 <li class="footer">Generated on Thu Jan 31 2019 12:34:23 for Flair by
484 <a href="http://www.doxygen.org/index.html">
485 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
486 </ul>
487</div>
488</body>
489</html>
Note: See TracBrowser for help on using the repository browser.