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

Last change on this file was 56, checked in by Sanahuja Guillaume, 7 years ago

m

File size: 63.0 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</table><table class="memberdecls">
288<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
289Protected Attributes</h2></td></tr>
290<tr class="memitem:a3929dfba87003f40ce398a123616dd48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3929dfba87003f40ce398a123616dd48"></a>
291<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>
292<tr class="separator:a3929dfba87003f40ce398a123616dd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
293<tr class="memitem:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e5c71804025830b11104cdbe2d0f7dc"></a>
294<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>
295<tr class="separator:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
296<tr class="memitem:a317042b2fcf037957ffc5539b8b2342e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a317042b2fcf037957ffc5539b8b2342e"></a>
297<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>
298<tr class="separator:a317042b2fcf037957ffc5539b8b2342e"><td class="memSeparator" colspan="2">&#160;</td></tr>
299</table><table class="memberdecls">
300<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
301Additional Inherited Members</h2></td></tr>
302<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>
303<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,
304<b>Red</b> = 31,
305<b>Green</b> = 32,
306<b>Orange</b> = 33
307 }</td></tr>
308<tr class="separator:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
309<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>
310<tr class="memitem:a5ef98773d91697e162ab30b89528b007 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#a5ef98773d91697e162ab30b89528b007">Thread</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent, std::string name, uint8_t priority)</td></tr>
311<tr class="memdesc:a5ef98773d91697e162ab30b89528b007 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a5ef98773d91697e162ab30b89528b007">More...</a><br /></td></tr>
312<tr class="separator:a5ef98773d91697e162ab30b89528b007 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
313<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>
314<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>
315<tr class="separator:a39ede97ff3addeaf48ecec09c6625655 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
316<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>
317<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>
318<tr class="separator:a5a4f0f27689ae4292f81bf45e22998a5 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
319<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>
320<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>
321<tr class="separator:afa1fb0f8d5b18273394502159dd5dcef inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
322<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>
323<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>
324<tr class="separator:afcbb4a445fe287b8608b173bdc10f056 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
325<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>
326<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>
327<tr class="separator:aba8b31e2e4c1beccb31333beb8bd41a4 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
328<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>
329<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>
330<tr class="separator:a581ae3bdecef47c916671a6aafec9509 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
331<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>
332uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodUS</b> () const </td></tr>
333<tr class="separator:ab58a00466581b6cf88ba28b8e2118c65 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
334<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>
335<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>
336<tr class="separator:a37d13f12283d69ebd092a7cc01a7d742 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
337<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>
338uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodMS</b> () const </td></tr>
339<tr class="separator:afaa77472d57848bed10204ee5ec1d75a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
340<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>
341<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>
342<tr class="separator:af892a1b3025cb842cad8e7f2a11a9526 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
343<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>
344<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>
345<tr class="separator:a50cd2ea88d538e10a30c3e6a5286a944 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
346<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>
347<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>
348<tr class="separator:a2b5b5f3cf400729419bd864b654af252 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
349<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>
350<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>
351<tr class="separator:a0e5fc8919ed6042e5736a5dca5ba546b inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
352<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>
353<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>
354<tr class="separator:af93c2461c31a6c16958bc44189ab4253 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
355<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>
356<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>
357<tr class="separator:ae7c46910a801f1b16302570ad8ae9580 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
358<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>
359<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>
360<tr class="separator:adac9a6d336bdb50bcfa24c66943a355a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
361<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>
362<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>
363<tr class="separator:a2a82d0ade1418111c2a4e7d0e133696c inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
364<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>
365<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>
366<tr class="separator:ac09a2d745af3dbb42371949d4c622011 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
367<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>
368<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>
369<tr class="separator:a3479727dfaf2213f7866fccadb43eeb6 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
370<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>
371<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>
372<tr class="separator:a501e7802d7edd7e6167d111c803b8349 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
373<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>
374<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>
375<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>
376<tr class="separator:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
377<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>
378<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>
379<tr class="separator:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
380<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>
381<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>
382<tr class="separator:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
383<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>
384<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>
385<tr class="separator:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
386<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>
387<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>
388<tr class="separator:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
389<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>
390<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>
391<tr class="separator:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
392<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>
393<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>
394<tr class="separator:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
395<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>
396<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>
397<tr class="separator:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
398<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>
399<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>
400<tr class="separator:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
401<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>
402<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>
403<tr class="separator:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
404<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>
405<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>
406<tr class="separator:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
407<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>
408<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>
409<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>
410<tr class="separator:a7fbf5ad201e7e802f0fa127891849dc9 inherit pub_static_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
411</table>
412<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
413<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>
414</div><h2 class="groupheader">Member Function Documentation</h2>
415<a class="anchor" id="a734a11e3bbedd8dd1726b2c450353da5"></a>
416<div class="memitem">
417<div class="memproto">
418<table class="mlabels">
419 <tr>
420 <td class="mlabels-left">
421 <table class="memname">
422 <tr>
423 <td class="memname">virtual void flair::meta::UavStateMachine::SignalEvent </td>
424 <td>(</td>
425 <td class="paramtype">Event_t&#160;</td>
426 <td class="paramname"><em>event</em></td><td>)</td>
427 <td></td>
428 </tr>
429 </table>
430 </td>
431 <td class="mlabels-right">
432<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
433 </tr>
434</table>
435</div><div class="memdoc">
436
437<p>Used to signal an event. </p>
438<dl class="params"><dt>Parameters</dt><dd>
439 <table class="params">
440 <tr><td class="paramname">event</td><td>the event which occured </td></tr>
441 </table>
442 </dd>
443</dl>
444
445</div>
446</div>
447<a class="anchor" id="a239d9f75ff1a46752c2b06c37726336a"></a>
448<div class="memitem">
449<div class="memproto">
450<table class="mlabels">
451 <tr>
452 <td class="mlabels-left">
453 <table class="memname">
454 <tr>
455 <td class="memname">virtual void flair::meta::UavStateMachine::ComputeCustomTorques </td>
456 <td>(</td>
457 <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
458 <td class="paramname"><em>torques</em></td><td>)</td>
459 <td></td>
460 </tr>
461 </table>
462 </td>
463 <td class="mlabels-right">
464<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
465 </tr>
466</table>
467</div><div class="memdoc">
468
469<p>Compute Custom Torques. </p>
470<p>Reimplement this method to use TorqueMode_t::Custom. <br />
471 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 />
472 See GetTorques if you need torques values.</p>
473<dl class="params"><dt>Parameters</dt><dd>
474 <table class="params">
475 <tr><td class="paramname">torques</td><td>custom torques </td></tr>
476 </table>
477 </dd>
478</dl>
479
480</div>
481</div>
482<a class="anchor" id="ac93d0d595a86a014c27375c973f693a8"></a>
483<div class="memitem">
484<div class="memproto">
485<table class="mlabels">
486 <tr>
487 <td class="mlabels-left">
488 <table class="memname">
489 <tr>
490 <td class="memname">void flair::meta::UavStateMachine::ComputeDefaultTorques </td>
491 <td>(</td>
492 <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
493 <td class="paramname"><em>torques</em></td><td>)</td>
494 <td></td>
495 </tr>
496 </table>
497 </td>
498 <td class="mlabels-right">
499<span class="mlabels"><span class="mlabel">protected</span></span> </td>
500 </tr>
501</table>
502</div><div class="memdoc">
503
504<p>Compute Default Torques. </p>
505<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 />
506 Torques are only computed once by loop, other calls to this method will use previously computed torques.</p>
507<dl class="params"><dt>Parameters</dt><dd>
508 <table class="params">
509 <tr><td class="paramname">torques</td><td>default torques </td></tr>
510 </table>
511 </dd>
512</dl>
513
514</div>
515</div>
516<a class="anchor" id="a6af7f575d90ef500717a999ea4c4afef"></a>
517<div class="memitem">
518<div class="memproto">
519<table class="mlabels">
520 <tr>
521 <td class="mlabels-left">
522 <table class="memname">
523 <tr>
524 <td class="memname">virtual float flair::meta::UavStateMachine::ComputeCustomThrust </td>
525 <td>(</td>
526 <td class="paramtype">void&#160;</td>
527 <td class="paramname"></td><td>)</td>
528 <td></td>
529 </tr>
530 </table>
531 </td>
532 <td class="mlabels-right">
533<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
534 </tr>
535</table>
536</div><div class="memdoc">
537
538<p>Get Torques. </p>
539<dl class="section return"><dt>Returns</dt><dd>torques current torques</dd></dl>
540<p>Compute Custom Thrust</p>
541<p>Reimplement this method to use ThrustMode_t::Custom. <br />
542 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 />
543 See GetThrust if you need thrust value.</p>
544<dl class="section return"><dt>Returns</dt><dd>custom Thrust </dd></dl>
545
546</div>
547</div>
548<a class="anchor" id="ab25472bbf51a7baf97ec5e9cfc148f8b"></a>
549<div class="memitem">
550<div class="memproto">
551<table class="mlabels">
552 <tr>
553 <td class="mlabels-left">
554 <table class="memname">
555 <tr>
556 <td class="memname">float flair::meta::UavStateMachine::ComputeDefaultThrust </td>
557 <td>(</td>
558 <td class="paramtype">void&#160;</td>
559 <td class="paramname"></td><td>)</td>
560 <td></td>
561 </tr>
562 </table>
563 </td>
564 <td class="mlabels-right">
565<span class="mlabels"><span class="mlabel">protected</span></span> </td>
566 </tr>
567</table>
568</div><div class="memdoc">
569
570<p>Compute Default Thrust. </p>
571<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 />
572 Thrust is only computed once by loop, other calls to this method will use previously computed thrust.</p>
573<dl class="section return"><dt>Returns</dt><dd>default thrust </dd></dl>
574
575</div>
576</div>
577<a class="anchor" id="ab737f2861d5c1901a0f62f54fe2c0855"></a>
578<div class="memitem">
579<div class="memproto">
580<table class="mlabels">
581 <tr>
582 <td class="mlabels-left">
583 <table class="memname">
584 <tr>
585 <td class="memname">void flair::meta::UavStateMachine::AddDeviceToControlLawLog </td>
586 <td>(</td>
587 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">core::IODevice</a> *&#160;</td>
588 <td class="paramname"><em>device</em></td><td>)</td>
589 <td></td>
590 </tr>
591 </table>
592 </td>
593 <td class="mlabels-right">
594<span class="mlabels"><span class="mlabel">protected</span></span> </td>
595 </tr>
596</table>
597</div><div class="memdoc">
598
599<p>Get Thrust. </p>
600<dl class="section return"><dt>Returns</dt><dd>current thrust</dd></dl>
601<p>Add an IODevice to the control law logs</p>
602<p>The IODevice will be automatically logged among the Uz logs, if logging is enabled (see IODevice::SetDataToLog, FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). <br />
603 </p><dl class="params"><dt>Parameters</dt><dd>
604 <table class="params">
605 <tr><td class="paramname">device</td><td>IODevice to log </td></tr>
606 </table>
607 </dd>
608</dl>
609
610</div>
611</div>
612<a class="anchor" id="aa642bfeb1d97dec839088e2256a3699b"></a>
613<div class="memitem">
614<div class="memproto">
615<table class="mlabels">
616 <tr>
617 <td class="mlabels-left">
618 <table class="memname">
619 <tr>
620 <td class="memname">void flair::meta::UavStateMachine::AddDataToControlLawLog </td>
621 <td>(</td>
622 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1io__data.html">core::io_data</a> *&#160;</td>
623 <td class="paramname"><em>data</em></td><td>)</td>
624 <td></td>
625 </tr>
626 </table>
627 </td>
628 <td class="mlabels-right">
629<span class="mlabels"><span class="mlabel">protected</span></span> </td>
630 </tr>
631</table>
632</div><div class="memdoc">
633
634<p>Add an io_data to the control law logs. </p>
635<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 />
636 </p><dl class="params"><dt>Parameters</dt><dd>
637 <table class="params">
638 <tr><td class="paramname">data</td><td>io_data to log </td></tr>
639 </table>
640 </dd>
641</dl>
642
643</div>
644</div>
645</div><!-- contents -->
646</div><!-- doc-content -->
647<!-- start footer part -->
648<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
649 <ul>
650 <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>
651 <li class="footer">Generated on Tue Jul 4 2017 07:52:56 for Flair by
652 <a href="http://www.doxygen.org/index.html">
653 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
654 </ul>
655</div>
656</body>
657</html>
Note: See TracBrowser for help on using the repository browser.