source: flair-dev/tags/0.2.2/doc/Flair/classflair_1_1meta_1_1_uav_state_machine.html

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

oubli

File size: 65.3 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::meta::UavStateMachine 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_1meta_1_1_uav_state_machine.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="#pro-types">Protected Types</a> &#124;
112<a href="#pro-methods">Protected Member Functions</a> &#124;
113<a href="#pro-attribs">Protected Attributes</a> &#124;
114<a href="classflair_1_1meta_1_1_uav_state_machine-members.html">List of all members</a> </div>
115 <div class="headertitle">
116<div class="title">flair::meta::UavStateMachine Class Reference</div> </div>
117</div><!--header-->
118<div class="contents">
119
120<p>State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager must be created before. The Thread is synchronized with Ahrs, unless a period is set with SetPeriodUS or SetPeriodMS.
121 <a href="classflair_1_1meta_1_1_uav_state_machine.html#details">More...</a></p>
122
123<p><code>#include &lt;<a class="el" href="_uav_state_machine_8h_source.html">UavStateMachine.h</a>&gt;</code></p>
124<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
125 <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for flair::meta::UavStateMachine:</div>
126<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
127</div>
128<div id="dynsection-0-content" class="dyncontent" style="display:none;">
129 <div class="center">
130 <img src="classflair_1_1meta_1_1_uav_state_machine.png" usemap="#flair::meta::UavStateMachine_map" alt=""/>
131 <map id="flair::meta::UavStateMachine_map" name="flair::meta::UavStateMachine_map">
132<area href="classflair_1_1core_1_1_thread.html" title="Abstract class for a thread. " alt="flair::core::Thread" shape="rect" coords="0,56,171,80"/>
133<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="0,0,171,24"/>
134</map>
135 </div></div>
136<table class="memberdecls">
137<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
138Protected Types</h2></td></tr>
139<tr class="memitem:a70c5fee2723003181c3f40304ff161b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70c5fee2723003181c3f40304ff161b9"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>AltitudeMode_t</b> { <b>Manual</b>,
140<b>Custom</b>
141 }</td></tr>
142<tr class="separator:a70c5fee2723003181c3f40304ff161b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a3b7de00de9545a3f7d1019a643465612"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b7de00de9545a3f7d1019a643465612"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>OrientationMode_t</b> { <b>Manual</b>,
144<b>Custom</b>
145 }</td></tr>
146<tr class="separator:a3b7de00de9545a3f7d1019a643465612"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:ae053854466a1dbd5d88fe25ec7111731"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae053854466a1dbd5d88fe25ec7111731"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>ThrustMode_t</b> { <b>Default</b>,
148<b>Custom</b>
149 }</td></tr>
150<tr class="separator:ae053854466a1dbd5d88fe25ec7111731"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a753e0ed184288600a6c404a1007d2578"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a753e0ed184288600a6c404a1007d2578"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>TorqueMode_t</b> { <b>Default</b>,
152<b>Custom</b>
153 }</td></tr>
154<tr class="separator:a753e0ed184288600a6c404a1007d2578"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a8c303819c3981685f734cb40a3e1e1fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c303819c3981685f734cb40a3e1e1fa"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Event_t</b> { <br />
156&#160;&#160;<b>EnteringFailSafeMode</b>,
157<b>EnteringControlLoop</b>,
158<b>StartLanding</b>,
159<b>FinishLanding</b>,
160<br />
161&#160;&#160;<b>Stopped</b>,
162<b>TakingOff</b>,
163<b>EmergencyStop</b>,
164<b>Stabilized</b>,
165<br />
166&#160;&#160;<b>ZTrajectoryFinished</b>
167<br />
168 }</td></tr>
169<tr class="separator:a8c303819c3981685f734cb40a3e1e1fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
170</table><table class="memberdecls">
171<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
172Protected Member Functions</h2></td></tr>
173<tr class="memitem:a95ee0204cc898cb8e5179ccc5d1dc1f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95ee0204cc898cb8e5179ccc5d1dc1f5"></a>
174const AltitudeMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetAltitudeMode</b> (void) const </td></tr>
175<tr class="separator:a95ee0204cc898cb8e5179ccc5d1dc1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<tr class="memitem:a1117a954c13aa97aa5d688e4486e29fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1117a954c13aa97aa5d688e4486e29fa"></a>
177bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetAltitudeMode</b> (const AltitudeMode_t &amp;altitudeMode)</td></tr>
178<tr class="separator:a1117a954c13aa97aa5d688e4486e29fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a91c1396bbf486ddd5cde6072b222543d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91c1396bbf486ddd5cde6072b222543d"></a>
180bool&#160;</td><td class="memItemRight" valign="bottom"><b>GotoAltitude</b> (float desiredAltitude)</td></tr>
181<tr class="separator:a91c1396bbf486ddd5cde6072b222543d"><td class="memSeparator" colspan="2">&#160;</td></tr>
182<tr class="memitem:a5d199a6fe92006ab0a76eda9b723a256"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d199a6fe92006ab0a76eda9b723a256"></a>
183const OrientationMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetOrientationMode</b> (void) const </td></tr>
184<tr class="separator:a5d199a6fe92006ab0a76eda9b723a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:a0f23419faaab13495889b5769e94c085"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f23419faaab13495889b5769e94c085"></a>
186bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetOrientationMode</b> (const OrientationMode_t &amp;orientationMode)</td></tr>
187<tr class="separator:a0f23419faaab13495889b5769e94c085"><td class="memSeparator" colspan="2">&#160;</td></tr>
188<tr class="memitem:a45b552098e86c12fb4024785c1d95516"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45b552098e86c12fb4024785c1d95516"></a>
189const ThrustMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetThrustMode</b> () const </td></tr>
190<tr class="separator:a45b552098e86c12fb4024785c1d95516"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:a865806d5064cb8f8995ce5e9f1222ba4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a865806d5064cb8f8995ce5e9f1222ba4"></a>
192bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetThrustMode</b> (const ThrustMode_t &amp;thrustMode)</td></tr>
193<tr class="separator:a865806d5064cb8f8995ce5e9f1222ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
194<tr class="memitem:a781f9c95e92023074c0a1587cfefe798"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a781f9c95e92023074c0a1587cfefe798"></a>
195const TorqueMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetTorqueMode</b> (void) const </td></tr>
196<tr class="separator:a781f9c95e92023074c0a1587cfefe798"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a70002c653806c3e18f3f04ae46b4e24b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70002c653806c3e18f3f04ae46b4e24b"></a>
198bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetTorqueMode</b> (const TorqueMode_t &amp;torqueMode)</td></tr>
199<tr class="separator:a70002c653806c3e18f3f04ae46b4e24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
200<tr class="memitem:ada2a19a4fdf6a861d81078347d721d40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada2a19a4fdf6a861d81078347d721d40"></a>
201&#160;</td><td class="memItemRight" valign="bottom"><b>UavStateMachine</b> (<a class="el" href="classflair_1_1sensor_1_1_target_controller.html">sensor::TargetController</a> *controller)</td></tr>
202<tr class="separator:ada2a19a4fdf6a861d81078347d721d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<tr class="memitem:ae632fa95dfbd03b2459390c0aa97b7c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae632fa95dfbd03b2459390c0aa97b7c4"></a>
204const <a class="el" href="classflair_1_1core_1_1_quaternion.html">core::Quaternion</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetCurrentQuaternion</b> (void) const </td></tr>
205<tr class="separator:ae632fa95dfbd03b2459390c0aa97b7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
206<tr class="memitem:abeb4955dc8ace81d74fe6e7eb5c952e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abeb4955dc8ace81d74fe6e7eb5c952e4"></a>
207const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">core::Vector3Df</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetCurrentAngularSpeed</b> (void) const </td></tr>
208<tr class="separator:abeb4955dc8ace81d74fe6e7eb5c952e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<tr class="memitem:a08afc337453ad8587ff07c0c07c1d42f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08afc337453ad8587ff07c0c07c1d42f"></a>
210void&#160;</td><td class="memItemRight" valign="bottom"><b>Land</b> (void)</td></tr>
211<tr class="separator:a08afc337453ad8587ff07c0c07c1d42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
212<tr class="memitem:a0e53dbcb461575eed6f2cfefe7aa9437"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e53dbcb461575eed6f2cfefe7aa9437"></a>
213void&#160;</td><td class="memItemRight" valign="bottom"><b>EmergencyLand</b> (void)</td></tr>
214<tr class="separator:a0e53dbcb461575eed6f2cfefe7aa9437"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<tr class="memitem:a479a742afa89d898c03aeb0a06d8f290"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a479a742afa89d898c03aeb0a06d8f290"></a>
216void&#160;</td><td class="memItemRight" valign="bottom"><b>TakeOff</b> (void)</td></tr>
217<tr class="separator:a479a742afa89d898c03aeb0a06d8f290"><td class="memSeparator" colspan="2">&#160;</td></tr>
218<tr class="memitem:a47ae3142c18f797bfba0b209e8518650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47ae3142c18f797bfba0b209e8518650"></a>
219void&#160;</td><td class="memItemRight" valign="bottom"><b>EmergencyStop</b> (void)</td></tr>
220<tr class="separator:a47ae3142c18f797bfba0b209e8518650"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<tr class="memitem:a734a11e3bbedd8dd1726b2c450353da5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#a734a11e3bbedd8dd1726b2c450353da5">SignalEvent</a> (Event_t event)</td></tr>
222<tr class="memdesc:a734a11e3bbedd8dd1726b2c450353da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to signal an event. <a href="#a734a11e3bbedd8dd1726b2c450353da5">More...</a><br /></td></tr>
223<tr class="separator:a734a11e3bbedd8dd1726b2c450353da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
224<tr class="memitem:af61a3a807c656973d67f51630019310e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af61a3a807c656973d67f51630019310e"></a>
225virtual const <a class="el" href="classflair_1_1core_1_1_ahrs_data.html">core::AhrsData</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetOrientation</b> (void) const </td></tr>
226<tr class="separator:af61a3a807c656973d67f51630019310e"><td class="memSeparator" colspan="2">&#160;</td></tr>
227<tr class="memitem:a6b98450ff11f0d3bb4e72c03f654f293"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b98450ff11f0d3bb4e72c03f654f293"></a>
228const <a class="el" href="classflair_1_1core_1_1_ahrs_data.html">core::AhrsData</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetDefaultOrientation</b> (void) const </td></tr>
229<tr class="separator:a6b98450ff11f0d3bb4e72c03f654f293"><td class="memSeparator" colspan="2">&#160;</td></tr>
230<tr class="memitem:ac335dfcc3c91af9e59dc10d88c1da04f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac335dfcc3c91af9e59dc10d88c1da04f"></a>
231virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AltitudeValues</b> (float &amp;z, float &amp;dz) const </td></tr>
232<tr class="separator:ac335dfcc3c91af9e59dc10d88c1da04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
233<tr class="memitem:a2f2db381f71bae4f92395df4400d6e0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f2db381f71bae4f92395df4400d6e0c"></a>
234void&#160;</td><td class="memItemRight" valign="bottom"><b>EnterFailSafeMode</b> (void)</td></tr>
235<tr class="separator:a2f2db381f71bae4f92395df4400d6e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
236<tr class="memitem:ab2ed3ee4d9ccdbc2bb813a9b55a0d544"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2ed3ee4d9ccdbc2bb813a9b55a0d544"></a>
237bool&#160;</td><td class="memItemRight" valign="bottom"><b>ExitFailSafeMode</b> (void)</td></tr>
238<tr class="separator:ab2ed3ee4d9ccdbc2bb813a9b55a0d544"><td class="memSeparator" colspan="2">&#160;</td></tr>
239<tr class="memitem:acd12763a492e5d257da5ce1370a6d560"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd12763a492e5d257da5ce1370a6d560"></a>
240void&#160;</td><td class="memItemRight" valign="bottom"><b>FailSafeAltitudeValues</b> (float &amp;z, float &amp;dz) const </td></tr>
241<tr class="separator:acd12763a492e5d257da5ce1370a6d560"><td class="memSeparator" colspan="2">&#160;</td></tr>
242<tr class="memitem:a7fe403c4baa571230206581bfb423434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fe403c4baa571230206581bfb423434"></a>
243<a class="el" href="classflair_1_1gui_1_1_grid_layout.html">gui::GridLayout</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetButtonsLayout</b> (void) const </td></tr>
244<tr class="separator:a7fe403c4baa571230206581bfb423434"><td class="memSeparator" colspan="2">&#160;</td></tr>
245<tr class="memitem:a4d6998ef27892a685ff1f0d1be600f72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d6998ef27892a685ff1f0d1be600f72"></a>
246virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraSecurityCheck</b> (void)</td></tr>
247<tr class="separator:a4d6998ef27892a685ff1f0d1be600f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
248<tr class="memitem:a391e18a04f86f1660f9cb995e052cfac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a391e18a04f86f1660f9cb995e052cfac"></a>
249virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraCheckJoystick</b> (void)</td></tr>
250<tr class="separator:a391e18a04f86f1660f9cb995e052cfac"><td class="memSeparator" colspan="2">&#160;</td></tr>
251<tr class="memitem:ab00c67c969f749b25c9c442debfbbdd2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab00c67c969f749b25c9c442debfbbdd2"></a>
252virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraCheckPushButton</b> (void)</td></tr>
253<tr class="separator:ab00c67c969f749b25c9c442debfbbdd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
254<tr class="memitem:a24c592e8b5013dfe9f494831d7edfacb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24c592e8b5013dfe9f494831d7edfacb"></a>
255void&#160;</td><td class="memItemRight" valign="bottom"><b>GetDefaultReferenceAltitude</b> (float &amp;refAltitude, float &amp;refVerticalVelocity)</td></tr>
256<tr class="separator:a24c592e8b5013dfe9f494831d7edfacb"><td class="memSeparator" colspan="2">&#160;</td></tr>
257<tr class="memitem:a9f97b96be1eaaab9dcb9e1a245b614f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f97b96be1eaaab9dcb9e1a245b614f2"></a>
258virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>GetReferenceAltitude</b> (float &amp;refAltitude, float &amp;refVerticalVelocity)</td></tr>
259<tr class="separator:a9f97b96be1eaaab9dcb9e1a245b614f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
260<tr class="memitem:acb613e16c489a521c664817ef74f00d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb613e16c489a521c664817ef74f00d9"></a>
261const <a class="el" href="classflair_1_1core_1_1_ahrs_data.html">core::AhrsData</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetDefaultReferenceOrientation</b> (void) const </td></tr>
262<tr class="separator:acb613e16c489a521c664817ef74f00d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
263<tr class="memitem:a9340da0cfbec2e72f323e51a43ae0b19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9340da0cfbec2e72f323e51a43ae0b19"></a>
264virtual const <a class="el" href="classflair_1_1core_1_1_ahrs_data.html">core::AhrsData</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetReferenceOrientation</b> (void)</td></tr>
265<tr class="separator:a9340da0cfbec2e72f323e51a43ae0b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
266<tr class="memitem:a239d9f75ff1a46752c2b06c37726336a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#a239d9f75ff1a46752c2b06c37726336a">ComputeCustomTorques</a> (<a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;torques)</td></tr>
267<tr class="memdesc:a239d9f75ff1a46752c2b06c37726336a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Custom Torques. <a href="#a239d9f75ff1a46752c2b06c37726336a">More...</a><br /></td></tr>
268<tr class="separator:a239d9f75ff1a46752c2b06c37726336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
269<tr class="memitem:ac93d0d595a86a014c27375c973f693a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#ac93d0d595a86a014c27375c973f693a8">ComputeDefaultTorques</a> (<a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;torques)</td></tr>
270<tr class="memdesc:ac93d0d595a86a014c27375c973f693a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Default Torques. <a href="#ac93d0d595a86a014c27375c973f693a8">More...</a><br /></td></tr>
271<tr class="separator:ac93d0d595a86a014c27375c973f693a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
272<tr class="memitem:a6af7f575d90ef500717a999ea4c4afef"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#a6af7f575d90ef500717a999ea4c4afef">ComputeCustomThrust</a> (void)</td></tr>
273<tr class="memdesc:a6af7f575d90ef500717a999ea4c4afef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Torques. <a href="#a6af7f575d90ef500717a999ea4c4afef">More...</a><br /></td></tr>
274<tr class="separator:a6af7f575d90ef500717a999ea4c4afef"><td class="memSeparator" colspan="2">&#160;</td></tr>
275<tr class="memitem:ab25472bbf51a7baf97ec5e9cfc148f8b"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#ab25472bbf51a7baf97ec5e9cfc148f8b">ComputeDefaultThrust</a> (void)</td></tr>
276<tr class="memdesc:ab25472bbf51a7baf97ec5e9cfc148f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Default Thrust. <a href="#ab25472bbf51a7baf97ec5e9cfc148f8b">More...</a><br /></td></tr>
277<tr class="separator:ab25472bbf51a7baf97ec5e9cfc148f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
278<tr class="memitem:ab737f2861d5c1901a0f62f54fe2c0855"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#ab737f2861d5c1901a0f62f54fe2c0855">AddDeviceToControlLawLog</a> (const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">core::IODevice</a> *device)</td></tr>
279<tr class="memdesc:ab737f2861d5c1901a0f62f54fe2c0855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Thrust. <a href="#ab737f2861d5c1901a0f62f54fe2c0855">More...</a><br /></td></tr>
280<tr class="separator:ab737f2861d5c1901a0f62f54fe2c0855"><td class="memSeparator" colspan="2">&#160;</td></tr>
281<tr class="memitem:aa642bfeb1d97dec839088e2256a3699b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html#aa642bfeb1d97dec839088e2256a3699b">AddDataToControlLawLog</a> (const <a class="el" href="classflair_1_1core_1_1io__data.html">core::io_data</a> *data)</td></tr>
282<tr class="memdesc:aa642bfeb1d97dec839088e2256a3699b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an io_data to the control law logs. <a href="#aa642bfeb1d97dec839088e2256a3699b">More...</a><br /></td></tr>
283<tr class="separator:aa642bfeb1d97dec839088e2256a3699b"><td class="memSeparator" colspan="2">&#160;</td></tr>
284<tr class="memitem:a8e60c6966eb00cf63c0278d575b8e394"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e60c6966eb00cf63c0278d575b8e394"></a>
285const <a class="el" href="classflair_1_1sensor_1_1_target_controller.html">sensor::TargetController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetJoystick</b> (void) const </td></tr>
286<tr class="separator:a8e60c6966eb00cf63c0278d575b8e394"><td class="memSeparator" colspan="2">&#160;</td></tr>
287<tr class="memitem:a56a4bd1ccd2bd35d3f112357ce7d7354"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56a4bd1ccd2bd35d3f112357ce7d7354"></a>
288<a class="el" href="classflair_1_1filter_1_1_nested_sat.html">filter::NestedSat</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetURoll</b> (void)</td></tr>
289<tr class="separator:a56a4bd1ccd2bd35d3f112357ce7d7354"><td class="memSeparator" colspan="2">&#160;</td></tr>
290<tr class="memitem:a5206c6547f6c5ee803f61c2b651b6a46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5206c6547f6c5ee803f61c2b651b6a46"></a>
291<a class="el" href="classflair_1_1filter_1_1_nested_sat.html">filter::NestedSat</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetUPitch</b> (void)</td></tr>
292<tr class="separator:a5206c6547f6c5ee803f61c2b651b6a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
293<tr class="memitem:a9711cbe4ded896b21745d29c9ed27531"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9711cbe4ded896b21745d29c9ed27531"></a>
294<a class="el" href="classflair_1_1filter_1_1_pid.html">filter::Pid</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetUYaw</b> (void)</td></tr>
295<tr class="separator:a9711cbe4ded896b21745d29c9ed27531"><td class="memSeparator" colspan="2">&#160;</td></tr>
296<tr class="memitem:ab86952dbc6e7f4c8518020f0b67b68e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab86952dbc6e7f4c8518020f0b67b68e5"></a>
297<a class="el" href="classflair_1_1filter_1_1_pid_thrust.html">filter::PidThrust</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetUZ</b> (void)</td></tr>
298<tr class="separator:ab86952dbc6e7f4c8518020f0b67b68e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
299<tr class="memitem:ab8b3d2da5d89e9a7faa17de65a7cf0eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8b3d2da5d89e9a7faa17de65a7cf0eb"></a>
300<a class="el" href="classflair_1_1filter_1_1_trajectory_generator1_d.html">filter::TrajectoryGenerator1D</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetAltitudeTrajectory</b> (void)</td></tr>
301<tr class="separator:ab8b3d2da5d89e9a7faa17de65a7cf0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
302</table><table class="memberdecls">
303<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
304Protected Attributes</h2></td></tr>
305<tr class="memitem:a3929dfba87003f40ce398a123616dd48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3929dfba87003f40ce398a123616dd48"></a>
306<a class="el" href="classflair_1_1meta_1_1_meta_dual_shock3.html">MetaDualShock3</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>joy</b></td></tr>
307<tr class="separator:a3929dfba87003f40ce398a123616dd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
308<tr class="memitem:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e5c71804025830b11104cdbe2d0f7dc"></a>
309<a class="el" href="classflair_1_1gui_1_1_tab.html">gui::Tab</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>setupLawTab</b></td></tr>
310<tr class="separator:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
311<tr class="memitem:a317042b2fcf037957ffc5539b8b2342e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a317042b2fcf037957ffc5539b8b2342e"></a>
312<a class="el" href="classflair_1_1gui_1_1_tab.html">gui::Tab</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>graphLawTab</b></td></tr>
313<tr class="separator:a317042b2fcf037957ffc5539b8b2342e"><td class="memSeparator" colspan="2">&#160;</td></tr>
314</table><table class="memberdecls">
315<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
316Additional Inherited Members</h2></td></tr>
317<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>
318<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,
319<b>Red</b> = 31,
320<b>Green</b> = 32,
321<b>Orange</b> = 33
322 }</td></tr>
323<tr class="separator:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
324<tr class="inherit_header pub_methods_classflair_1_1core_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classflair_1_1core_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_thread.html">flair::core::Thread</a></td></tr>
325<tr class="memitem:adecd2fabe36298c43267557e7f016deb inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#adecd2fabe36298c43267557e7f016deb">Thread</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent, std::string name, uint8_t priority, uint32_t stackSize=1024 *128)</td></tr>
326<tr class="memdesc:adecd2fabe36298c43267557e7f016deb inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#adecd2fabe36298c43267557e7f016deb">More...</a><br /></td></tr>
327<tr class="separator:adecd2fabe36298c43267557e7f016deb inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
328<tr class="memitem:a39ede97ff3addeaf48ecec09c6625655 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a39ede97ff3addeaf48ecec09c6625655">~Thread</a> ()</td></tr>
329<tr class="memdesc:a39ede97ff3addeaf48ecec09c6625655 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a39ede97ff3addeaf48ecec09c6625655">More...</a><br /></td></tr>
330<tr class="separator:a39ede97ff3addeaf48ecec09c6625655 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
331<tr class="memitem:a5a4f0f27689ae4292f81bf45e22998a5 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a5a4f0f27689ae4292f81bf45e22998a5">Start</a> (void)</td></tr>
332<tr class="memdesc:a5a4f0f27689ae4292f81bf45e22998a5 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the thread. <a href="#a5a4f0f27689ae4292f81bf45e22998a5">More...</a><br /></td></tr>
333<tr class="separator:a5a4f0f27689ae4292f81bf45e22998a5 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
334<tr class="memitem:afa1fb0f8d5b18273394502159dd5dcef inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#afa1fb0f8d5b18273394502159dd5dcef">SafeStop</a> (void)</td></tr>
335<tr class="memdesc:afa1fb0f8d5b18273394502159dd5dcef inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a stop flag. <a href="#afa1fb0f8d5b18273394502159dd5dcef">More...</a><br /></td></tr>
336<tr class="separator:afa1fb0f8d5b18273394502159dd5dcef inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
337<tr class="memitem:afcbb4a445fe287b8608b173bdc10f056 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#afcbb4a445fe287b8608b173bdc10f056">ToBeStopped</a> (void) const </td></tr>
338<tr class="memdesc:afcbb4a445fe287b8608b173bdc10f056 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a stop flag. <a href="#afcbb4a445fe287b8608b173bdc10f056">More...</a><br /></td></tr>
339<tr class="separator:afcbb4a445fe287b8608b173bdc10f056 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
340<tr class="memitem:aba8b31e2e4c1beccb31333beb8bd41a4 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#aba8b31e2e4c1beccb31333beb8bd41a4">Join</a> (void)</td></tr>
341<tr class="memdesc:aba8b31e2e4c1beccb31333beb8bd41a4 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join the thread. <a href="#aba8b31e2e4c1beccb31333beb8bd41a4">More...</a><br /></td></tr>
342<tr class="separator:aba8b31e2e4c1beccb31333beb8bd41a4 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
343<tr class="memitem:a581ae3bdecef47c916671a6aafec9509 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a581ae3bdecef47c916671a6aafec9509">SetPeriodUS</a> (uint32_t period_us)</td></tr>
344<tr class="memdesc:a581ae3bdecef47c916671a6aafec9509 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the period in micro second. <a href="#a581ae3bdecef47c916671a6aafec9509">More...</a><br /></td></tr>
345<tr class="separator:a581ae3bdecef47c916671a6aafec9509 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
346<tr class="memitem:ab58a00466581b6cf88ba28b8e2118c65 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab58a00466581b6cf88ba28b8e2118c65"></a>
347uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodUS</b> () const </td></tr>
348<tr class="separator:ab58a00466581b6cf88ba28b8e2118c65 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
349<tr class="memitem:a37d13f12283d69ebd092a7cc01a7d742 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a37d13f12283d69ebd092a7cc01a7d742">SetPeriodMS</a> (uint32_t period_ms)</td></tr>
350<tr class="memdesc:a37d13f12283d69ebd092a7cc01a7d742 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the period in milli second. <a href="#a37d13f12283d69ebd092a7cc01a7d742">More...</a><br /></td></tr>
351<tr class="separator:a37d13f12283d69ebd092a7cc01a7d742 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
352<tr class="memitem:afaa77472d57848bed10204ee5ec1d75a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afaa77472d57848bed10204ee5ec1d75a"></a>
353uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodMS</b> () const </td></tr>
354<tr class="separator:afaa77472d57848bed10204ee5ec1d75a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
355<tr class="memitem:af892a1b3025cb842cad8e7f2a11a9526 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#af892a1b3025cb842cad8e7f2a11a9526">IsPeriodSet</a> (void)</td></tr>
356<tr class="memdesc:af892a1b3025cb842cad8e7f2a11a9526 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if period was set. <a href="#af892a1b3025cb842cad8e7f2a11a9526">More...</a><br /></td></tr>
357<tr class="separator:af892a1b3025cb842cad8e7f2a11a9526 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
358<tr class="memitem:a50cd2ea88d538e10a30c3e6a5286a944 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a50cd2ea88d538e10a30c3e6a5286a944">WaitPeriod</a> (void) const </td></tr>
359<tr class="memdesc:a50cd2ea88d538e10a30c3e6a5286a944 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait the period. <a href="#a50cd2ea88d538e10a30c3e6a5286a944">More...</a><br /></td></tr>
360<tr class="separator:a50cd2ea88d538e10a30c3e6a5286a944 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
361<tr class="memitem:a2b5b5f3cf400729419bd864b654af252 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a2b5b5f3cf400729419bd864b654af252">WaitUpdate</a> (const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">IODevice</a> *device)</td></tr>
362<tr class="memdesc:a2b5b5f3cf400729419bd864b654af252 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait update of an <a class="el" href="classflair_1_1core_1_1_i_o_device.html" title="Abstract class for input/ouput system. ">IODevice</a>. <a href="#a2b5b5f3cf400729419bd864b654af252">More...</a><br /></td></tr>
363<tr class="separator:a2b5b5f3cf400729419bd864b654af252 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
364<tr class="memitem:a0e5fc8919ed6042e5736a5dca5ba546b inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a0e5fc8919ed6042e5736a5dca5ba546b">Suspend</a> (void)</td></tr>
365<tr class="memdesc:a0e5fc8919ed6042e5736a5dca5ba546b inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend the thread. <a href="#a0e5fc8919ed6042e5736a5dca5ba546b">More...</a><br /></td></tr>
366<tr class="separator:a0e5fc8919ed6042e5736a5dca5ba546b inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
367<tr class="memitem:af93c2461c31a6c16958bc44189ab4253 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#af93c2461c31a6c16958bc44189ab4253">SuspendUntil</a> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> date)</td></tr>
368<tr class="memdesc:af93c2461c31a6c16958bc44189ab4253 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend the thread with timeout. <a href="#af93c2461c31a6c16958bc44189ab4253">More...</a><br /></td></tr>
369<tr class="separator:af93c2461c31a6c16958bc44189ab4253 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
370<tr class="memitem:ae7c46910a801f1b16302570ad8ae9580 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#ae7c46910a801f1b16302570ad8ae9580">Resume</a> (void)</td></tr>
371<tr class="memdesc:ae7c46910a801f1b16302570ad8ae9580 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume the thread. <a href="#ae7c46910a801f1b16302570ad8ae9580">More...</a><br /></td></tr>
372<tr class="separator:ae7c46910a801f1b16302570ad8ae9580 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
373<tr class="memitem:adac9a6d336bdb50bcfa24c66943a355a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#adac9a6d336bdb50bcfa24c66943a355a">IsSuspended</a> (void) const </td></tr>
374<tr class="memdesc:adac9a6d336bdb50bcfa24c66943a355a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the thread suspended? <a href="#adac9a6d336bdb50bcfa24c66943a355a">More...</a><br /></td></tr>
375<tr class="separator:adac9a6d336bdb50bcfa24c66943a355a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
376<tr class="memitem:a2a82d0ade1418111c2a4e7d0e133696c inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a2a82d0ade1418111c2a4e7d0e133696c">IsRunning</a> (void) const </td></tr>
377<tr class="memdesc:a2a82d0ade1418111c2a4e7d0e133696c inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the thread running? <a href="#a2a82d0ade1418111c2a4e7d0e133696c">More...</a><br /></td></tr>
378<tr class="separator:a2a82d0ade1418111c2a4e7d0e133696c inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
379<tr class="memitem:ac09a2d745af3dbb42371949d4c622011 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#ac09a2d745af3dbb42371949d4c622011">SleepUntil</a> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> time) const </td></tr>
380<tr class="memdesc:ac09a2d745af3dbb42371949d4c622011 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep until absolute time. <a href="#ac09a2d745af3dbb42371949d4c622011">More...</a><br /></td></tr>
381<tr class="separator:ac09a2d745af3dbb42371949d4c622011 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
382<tr class="memitem:a3479727dfaf2213f7866fccadb43eeb6 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a3479727dfaf2213f7866fccadb43eeb6">SleepUS</a> (uint32_t time_us) const </td></tr>
383<tr class="memdesc:a3479727dfaf2213f7866fccadb43eeb6 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for a certain time in micro second. <a href="#a3479727dfaf2213f7866fccadb43eeb6">More...</a><br /></td></tr>
384<tr class="separator:a3479727dfaf2213f7866fccadb43eeb6 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
385<tr class="memitem:a501e7802d7edd7e6167d111c803b8349 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a501e7802d7edd7e6167d111c803b8349">SleepMS</a> (uint32_t time_ms) const </td></tr>
386<tr class="memdesc:a501e7802d7edd7e6167d111c803b8349 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for a cartain time in milli second. <a href="#a501e7802d7edd7e6167d111c803b8349">More...</a><br /></td></tr>
387<tr class="separator:a501e7802d7edd7e6167d111c803b8349 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
388<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>
389<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>
390<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>
391<tr class="separator:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
392<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>
393<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>
394<tr class="separator:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
395<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>
396<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>
397<tr class="separator:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
398<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>
399<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>
400<tr class="separator:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
401<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>
402<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>
403<tr class="separator:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
404<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>
405<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>
406<tr class="separator:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
407<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>
408<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>
409<tr class="separator:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
410<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>
411<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>
412<tr class="separator:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
413<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>
414<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>
415<tr class="separator:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
416<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>
417<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>
418<tr class="separator:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
419<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>
420<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>
421<tr class="separator:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
422<tr class="inherit_header pub_static_methods_classflair_1_1core_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classflair_1_1core_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_thread.html">flair::core::Thread</a></td></tr>
423<tr class="memitem:a7fbf5ad201e7e802f0fa127891849dc9 inherit pub_static_methods_classflair_1_1core_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html#a7fbf5ad201e7e802f0fa127891849dc9">WarnUponSwitches</a> (bool enable)</td></tr>
424<tr class="memdesc:a7fbf5ad201e7e802f0fa127891849dc9 inherit pub_static_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Warn if real time / non real time switches occur. <a href="#a7fbf5ad201e7e802f0fa127891849dc9">More...</a><br /></td></tr>
425<tr class="separator:a7fbf5ad201e7e802f0fa127891849dc9 inherit pub_static_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
426</table>
427<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
428<div class="textblock"><p>State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager must be created before. The Thread is synchronized with Ahrs, unless a period is set with SetPeriodUS or SetPeriodMS. </p>
429</div><h2 class="groupheader">Member Function Documentation</h2>
430<a class="anchor" id="a734a11e3bbedd8dd1726b2c450353da5"></a>
431<div class="memitem">
432<div class="memproto">
433<table class="mlabels">
434 <tr>
435 <td class="mlabels-left">
436 <table class="memname">
437 <tr>
438 <td class="memname">virtual void flair::meta::UavStateMachine::SignalEvent </td>
439 <td>(</td>
440 <td class="paramtype">Event_t&#160;</td>
441 <td class="paramname"><em>event</em></td><td>)</td>
442 <td></td>
443 </tr>
444 </table>
445 </td>
446 <td class="mlabels-right">
447<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
448 </tr>
449</table>
450</div><div class="memdoc">
451
452<p>Used to signal an event. </p>
453<dl class="params"><dt>Parameters</dt><dd>
454 <table class="params">
455 <tr><td class="paramname">event</td><td>the event which occured </td></tr>
456 </table>
457 </dd>
458</dl>
459
460</div>
461</div>
462<a class="anchor" id="a239d9f75ff1a46752c2b06c37726336a"></a>
463<div class="memitem">
464<div class="memproto">
465<table class="mlabels">
466 <tr>
467 <td class="mlabels-left">
468 <table class="memname">
469 <tr>
470 <td class="memname">virtual void flair::meta::UavStateMachine::ComputeCustomTorques </td>
471 <td>(</td>
472 <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
473 <td class="paramname"><em>torques</em></td><td>)</td>
474 <td></td>
475 </tr>
476 </table>
477 </td>
478 <td class="mlabels-right">
479<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
480 </tr>
481</table>
482</div><div class="memdoc">
483
484<p>Compute Custom Torques. </p>
485<p>Reimplement this method to use TorqueMode_t::Custom. <br />
486 This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager mus...">UavStateMachine</a>, do not call it by yourself. <br />
487 See GetTorques if you need torques values.</p>
488<dl class="params"><dt>Parameters</dt><dd>
489 <table class="params">
490 <tr><td class="paramname">torques</td><td>custom torques </td></tr>
491 </table>
492 </dd>
493</dl>
494
495</div>
496</div>
497<a class="anchor" id="ac93d0d595a86a014c27375c973f693a8"></a>
498<div class="memitem">
499<div class="memproto">
500<table class="mlabels">
501 <tr>
502 <td class="mlabels-left">
503 <table class="memname">
504 <tr>
505 <td class="memname">void flair::meta::UavStateMachine::ComputeDefaultTorques </td>
506 <td>(</td>
507 <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
508 <td class="paramname"><em>torques</em></td><td>)</td>
509 <td></td>
510 </tr>
511 </table>
512 </td>
513 <td class="mlabels-right">
514<span class="mlabels"><span class="mlabel">protected</span></span> </td>
515 </tr>
516</table>
517</div><div class="memdoc">
518
519<p>Compute Default Torques. </p>
520<p>This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager mus...">UavStateMachine</a> when using TorqueMode_t::Default. <br />
521 Torques are only computed once by loop, other calls to this method will use previously computed torques.</p>
522<dl class="params"><dt>Parameters</dt><dd>
523 <table class="params">
524 <tr><td class="paramname">torques</td><td>default torques </td></tr>
525 </table>
526 </dd>
527</dl>
528
529</div>
530</div>
531<a class="anchor" id="a6af7f575d90ef500717a999ea4c4afef"></a>
532<div class="memitem">
533<div class="memproto">
534<table class="mlabels">
535 <tr>
536 <td class="mlabels-left">
537 <table class="memname">
538 <tr>
539 <td class="memname">virtual float flair::meta::UavStateMachine::ComputeCustomThrust </td>
540 <td>(</td>
541 <td class="paramtype">void&#160;</td>
542 <td class="paramname"></td><td>)</td>
543 <td></td>
544 </tr>
545 </table>
546 </td>
547 <td class="mlabels-right">
548<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
549 </tr>
550</table>
551</div><div class="memdoc">
552
553<p>Get Torques. </p>
554<dl class="section return"><dt>Returns</dt><dd>torques current torques</dd></dl>
555<p>Compute Custom Thrust</p>
556<p>Reimplement this method to use ThrustMode_t::Custom. <br />
557 This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager mus...">UavStateMachine</a>, do not call it by yourself. <br />
558 See GetThrust if you need thrust value.</p>
559<dl class="section return"><dt>Returns</dt><dd>custom Thrust </dd></dl>
560
561</div>
562</div>
563<a class="anchor" id="ab25472bbf51a7baf97ec5e9cfc148f8b"></a>
564<div class="memitem">
565<div class="memproto">
566<table class="mlabels">
567 <tr>
568 <td class="mlabels-left">
569 <table class="memname">
570 <tr>
571 <td class="memname">float flair::meta::UavStateMachine::ComputeDefaultThrust </td>
572 <td>(</td>
573 <td class="paramtype">void&#160;</td>
574 <td class="paramname"></td><td>)</td>
575 <td></td>
576 </tr>
577 </table>
578 </td>
579 <td class="mlabels-right">
580<span class="mlabels"><span class="mlabel">protected</span></span> </td>
581 </tr>
582</table>
583</div><div class="memdoc">
584
585<p>Compute Default Thrust. </p>
586<p>This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV The Thread is created with the FrameworkManager as parent. FrameworkManager mus...">UavStateMachine</a> when using ThrustMode_t::Default. <br />
587 Thrust is only computed once by loop, other calls to this method will use previously computed thrust.</p>
588<dl class="section return"><dt>Returns</dt><dd>default thrust </dd></dl>
589
590</div>
591</div>
592<a class="anchor" id="ab737f2861d5c1901a0f62f54fe2c0855"></a>
593<div class="memitem">
594<div class="memproto">
595<table class="mlabels">
596 <tr>
597 <td class="mlabels-left">
598 <table class="memname">
599 <tr>
600 <td class="memname">void flair::meta::UavStateMachine::AddDeviceToControlLawLog </td>
601 <td>(</td>
602 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">core::IODevice</a> *&#160;</td>
603 <td class="paramname"><em>device</em></td><td>)</td>
604 <td></td>
605 </tr>
606 </table>
607 </td>
608 <td class="mlabels-right">
609<span class="mlabels"><span class="mlabel">protected</span></span> </td>
610 </tr>
611</table>
612</div><div class="memdoc">
613
614<p>Get Thrust. </p>
615<dl class="section return"><dt>Returns</dt><dd>current thrust</dd></dl>
616<p>Add an IODevice to the control law logs</p>
617<p>The IODevice will be automatically logged among the Uz logs, if logging is enabled (see IODevice::SetDataToLog, FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). <br />
618 </p><dl class="params"><dt>Parameters</dt><dd>
619 <table class="params">
620 <tr><td class="paramname">device</td><td>IODevice to log </td></tr>
621 </table>
622 </dd>
623</dl>
624
625</div>
626</div>
627<a class="anchor" id="aa642bfeb1d97dec839088e2256a3699b"></a>
628<div class="memitem">
629<div class="memproto">
630<table class="mlabels">
631 <tr>
632 <td class="mlabels-left">
633 <table class="memname">
634 <tr>
635 <td class="memname">void flair::meta::UavStateMachine::AddDataToControlLawLog </td>
636 <td>(</td>
637 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1io__data.html">core::io_data</a> *&#160;</td>
638 <td class="paramname"><em>data</em></td><td>)</td>
639 <td></td>
640 </tr>
641 </table>
642 </td>
643 <td class="mlabels-right">
644<span class="mlabels"><span class="mlabel">protected</span></span> </td>
645 </tr>
646</table>
647</div><div class="memdoc">
648
649<p>Add an io_data to the control law logs. </p>
650<p>The io_data will be automatically logged among the Uz logs, if logging is enabled (see IODevice::SetDataToLog, FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). <br />
651 </p><dl class="params"><dt>Parameters</dt><dd>
652 <table class="params">
653 <tr><td class="paramname">data</td><td>io_data to log </td></tr>
654 </table>
655 </dd>
656</dl>
657
658</div>
659</div>
660</div><!-- contents -->
661</div><!-- doc-content -->
662<!-- start footer part -->
663<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
664 <ul>
665 <li class="navelem"><a class="el" href="namespaceflair.html">flair</a></li><li class="navelem"><a class="el" href="namespaceflair_1_1meta.html">meta</a></li><li class="navelem"><a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html">UavStateMachine</a></li>
666 <li class="footer">Generated on Fri Nov 30 2018 16:40:51 for Flair by
667 <a href="http://www.doxygen.org/index.html">
668 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
669 </ul>
670</div>
671</body>
672</html>
Note: See TracBrowser for help on using the repository browser.