source: flair-dev/trunk/doc/Flair/classflair_1_1meta_1_1_uav_state_machine.html @ 15

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

m

File size: 62.6 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.7"/>
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="navtree.js"></script>
14<script type="text/javascript">
15  $(document).ready(initResizable);
16  $(window).load(resizeHeight);
17</script>
18<link href="search/search.css" rel="stylesheet" type="text/css"/>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/javascript">
21  $(document).ready(function() { searchBox.OnSelectItem(0); });
22</script>
23<link href="doxygen.css" rel="stylesheet" type="text/css" />
24</head>
25<body>
26<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
27<div id="titlearea">
28<table cellspacing="0" cellpadding="0">
29 <tbody>
30 <tr style="height: 56px;">
31  <td id="projectlogo"><img alt="Logo" src="logo_hds.png"/></td>
32  <td style="padding-left: 0.5em;">
33   <div id="projectname">Flair
34   </div>
35   <div id="projectbrief">Framework Libre Air</div>
36  </td>
37 </tr>
38 </tbody>
39</table>
40</div>
41<!-- end header part -->
42<!-- Generated by Doxygen 1.8.7 -->
43<script type="text/javascript">
44var searchBox = new SearchBox("searchBox", "search",false,'Search');
45</script>
46  <div id="navrow1" class="tabs">
47    <ul class="tablist">
48      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
49      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
50      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
51      <li><a href="files.html"><span>Files</span></a></li>
52      <li>
53        <div id="MSearchBox" class="MSearchBoxInactive">
54        <span class="left">
55          <img id="MSearchSelect" src="search/mag_sel.png"
56               onmouseover="return searchBox.OnSearchSelectShow()"
57               onmouseout="return searchBox.OnSearchSelectHide()"
58               alt=""/>
59          <input type="text" id="MSearchField" value="Search" accesskey="S"
60               onfocus="searchBox.OnSearchFieldFocus(true)" 
61               onblur="searchBox.OnSearchFieldFocus(false)" 
62               onkeyup="searchBox.OnSearchFieldChange(event)"/>
63          </span><span class="right">
64            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
65          </span>
66        </div>
67      </li>
68    </ul>
69  </div>
70  <div id="navrow2" class="tabs2">
71    <ul class="tablist">
72      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
73      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
74      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
75      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
76    </ul>
77  </div>
78</div><!-- top -->
79<div id="side-nav" class="ui-resizable side-nav-resizable">
80  <div id="nav-tree">
81    <div id="nav-tree-contents">
82      <div id="nav-sync" class="sync"></div>
83    </div>
84  </div>
85  <div id="splitbar" style="-moz-user-select:none;" 
86       class="ui-resizable-handle">
87  </div>
88</div>
89<script type="text/javascript">
90$(document).ready(function(){initNavTree('classflair_1_1meta_1_1_uav_state_machine.html','');});
91</script>
92<div id="doc-content">
93<!-- window showing the filter options -->
94<div id="MSearchSelectWindow"
95     onmouseover="return searchBox.OnSearchSelectShow()"
96     onmouseout="return searchBox.OnSearchSelectHide()"
97     onkeydown="return searchBox.OnSearchSelectKey(event)">
98<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a></div>
99
100<!-- iframe showing the search results (closed by default) -->
101<div id="MSearchResultsWindow">
102<iframe src="javascript:void(0)" frameborder="0" 
103        name="MSearchResults" id="MSearchResults">
104</iframe>
105</div>
106
107<div class="header">
108  <div class="summary">
109<a href="#pro-types">Protected Types</a> &#124;
110<a href="#pro-methods">Protected Member Functions</a> &#124;
111<a href="#pro-attribs">Protected Attributes</a> &#124;
112<a href="classflair_1_1meta_1_1_uav_state_machine-members.html">List of all members</a>  </div>
113  <div class="headertitle">
114<div class="title">flair::meta::UavStateMachine Class Reference</div>  </div>
115</div><!--header-->
116<div class="contents">
117
118<p>State machine for UAV. 
119 <a href="classflair_1_1meta_1_1_uav_state_machine.html#details">More...</a></p>
120
121<p><code>#include &lt;<a class="el" href="_uav_state_machine_8h_source.html">UavStateMachine.h</a>&gt;</code></p>
122<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
123  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for flair::meta::UavStateMachine:</div>
124<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
125</div>
126<div id="dynsection-0-content" class="dyncontent" style="display:none;">
127 <div class="center">
128  <img src="classflair_1_1meta_1_1_uav_state_machine.png" usemap="#flair::meta::UavStateMachine_map" alt=""/>
129  <map id="flair::meta::UavStateMachine_map" name="flair::meta::UavStateMachine_map">
130<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"/>
131<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"/>
132</map>
133 </div></div>
134<table class="memberdecls">
135<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
136Protected Types</h2></td></tr>
137<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>,
138<b>Custom</b>
139 }</td></tr>
140<tr class="separator:a70c5fee2723003181c3f40304ff161b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<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>,
142<b>Custom</b>
143 }</td></tr>
144<tr class="separator:a3b7de00de9545a3f7d1019a643465612"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<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>,
146<b>Custom</b>
147 }</td></tr>
148<tr class="separator:ae053854466a1dbd5d88fe25ec7111731"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<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>,
150<b>Custom</b>
151 }</td></tr>
152<tr class="separator:a753e0ed184288600a6c404a1007d2578"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<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 />
154&#160;&#160;<b>EnteringFailSafeMode</b>,
155<b>EnteringControlLoop</b>,
156<b>StartLanding</b>,
157<b>FinishLanding</b>,
158<br />
159&#160;&#160;<b>Stopped</b>,
160<b>TakingOff</b>,
161<b>EmergencyStop</b>,
162<b>Stabilized</b>,
163<br />
164&#160;&#160;<b>ZTrajectoryFinished</b>
165<br />
166 }</td></tr>
167<tr class="separator:a8c303819c3981685f734cb40a3e1e1fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
168</table><table class="memberdecls">
169<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
170Protected Member Functions</h2></td></tr>
171<tr class="memitem:a95ee0204cc898cb8e5179ccc5d1dc1f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95ee0204cc898cb8e5179ccc5d1dc1f5"></a>
172const AltitudeMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetAltitudeMode</b> (void) const </td></tr>
173<tr class="separator:a95ee0204cc898cb8e5179ccc5d1dc1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:a1117a954c13aa97aa5d688e4486e29fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1117a954c13aa97aa5d688e4486e29fa"></a>
175bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetAltitudeMode</b> (const AltitudeMode_t &amp;altitudeMode)</td></tr>
176<tr class="separator:a1117a954c13aa97aa5d688e4486e29fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a91c1396bbf486ddd5cde6072b222543d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91c1396bbf486ddd5cde6072b222543d"></a>
178bool&#160;</td><td class="memItemRight" valign="bottom"><b>GotoAltitude</b> (float desiredAltitude)</td></tr>
179<tr class="separator:a91c1396bbf486ddd5cde6072b222543d"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="memitem:a5d199a6fe92006ab0a76eda9b723a256"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d199a6fe92006ab0a76eda9b723a256"></a>
181const OrientationMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetOrientationMode</b> (void) const </td></tr>
182<tr class="separator:a5d199a6fe92006ab0a76eda9b723a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a0f23419faaab13495889b5769e94c085"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f23419faaab13495889b5769e94c085"></a>
184bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetOrientationMode</b> (const OrientationMode_t &amp;orientationMode)</td></tr>
185<tr class="separator:a0f23419faaab13495889b5769e94c085"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="memitem:a45b552098e86c12fb4024785c1d95516"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45b552098e86c12fb4024785c1d95516"></a>
187const ThrustMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetThrustMode</b> () const </td></tr>
188<tr class="separator:a45b552098e86c12fb4024785c1d95516"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:a865806d5064cb8f8995ce5e9f1222ba4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a865806d5064cb8f8995ce5e9f1222ba4"></a>
190bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetThrustMode</b> (const ThrustMode_t &amp;thrustMode)</td></tr>
191<tr class="separator:a865806d5064cb8f8995ce5e9f1222ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
192<tr class="memitem:a781f9c95e92023074c0a1587cfefe798"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a781f9c95e92023074c0a1587cfefe798"></a>
193const TorqueMode_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetTorqueMode</b> (void) const </td></tr>
194<tr class="separator:a781f9c95e92023074c0a1587cfefe798"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a70002c653806c3e18f3f04ae46b4e24b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70002c653806c3e18f3f04ae46b4e24b"></a>
196bool&#160;</td><td class="memItemRight" valign="bottom"><b>SetTorqueMode</b> (const TorqueMode_t &amp;torqueMode)</td></tr>
197<tr class="separator:a70002c653806c3e18f3f04ae46b4e24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
198<tr class="memitem:aad1a2555afd6f64fc9565ff15eeee864"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad1a2555afd6f64fc9565ff15eeee864"></a>
199&#160;</td><td class="memItemRight" valign="bottom"><b>UavStateMachine</b> (<a class="el" href="classflair_1_1meta_1_1_uav.html">meta::Uav</a> *uav, uint16_t ds3Port=20000)</td></tr>
200<tr class="separator:aad1a2555afd6f64fc9565ff15eeee864"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:ae632fa95dfbd03b2459390c0aa97b7c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae632fa95dfbd03b2459390c0aa97b7c4"></a>
202const <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>
203<tr class="separator:ae632fa95dfbd03b2459390c0aa97b7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
204<tr class="memitem:a42bd79939eca721ee4b632ee07d704e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42bd79939eca721ee4b632ee07d704e6"></a>
205const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">core::Vector3D</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetCurrentAngularSpeed</b> (void) const </td></tr>
206<tr class="separator:a42bd79939eca721ee4b632ee07d704e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<tr class="memitem:a7305480f25f1eeccf60d4c3dba636ebb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7305480f25f1eeccf60d4c3dba636ebb"></a>
208const <a class="el" href="classflair_1_1meta_1_1_uav.html">meta::Uav</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetUav</b> (void) const </td></tr>
209<tr class="separator:a7305480f25f1eeccf60d4c3dba636ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
210<tr class="memitem:a08afc337453ad8587ff07c0c07c1d42f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08afc337453ad8587ff07c0c07c1d42f"></a>
211void&#160;</td><td class="memItemRight" valign="bottom"><b>Land</b> (void)</td></tr>
212<tr class="separator:a08afc337453ad8587ff07c0c07c1d42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:a479a742afa89d898c03aeb0a06d8f290"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a479a742afa89d898c03aeb0a06d8f290"></a>
214void&#160;</td><td class="memItemRight" valign="bottom"><b>TakeOff</b> (void)</td></tr>
215<tr class="separator:a479a742afa89d898c03aeb0a06d8f290"><td class="memSeparator" colspan="2">&#160;</td></tr>
216<tr class="memitem:a47ae3142c18f797bfba0b209e8518650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47ae3142c18f797bfba0b209e8518650"></a>
217void&#160;</td><td class="memItemRight" valign="bottom"><b>EmergencyStop</b> (void)</td></tr>
218<tr class="separator:a47ae3142c18f797bfba0b209e8518650"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<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>
220<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>
221<tr class="separator:a734a11e3bbedd8dd1726b2c450353da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
222<tr class="memitem:af61a3a807c656973d67f51630019310e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af61a3a807c656973d67f51630019310e"></a>
223virtual 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>
224<tr class="separator:af61a3a807c656973d67f51630019310e"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<tr class="memitem:a6b98450ff11f0d3bb4e72c03f654f293"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b98450ff11f0d3bb4e72c03f654f293"></a>
226const <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>
227<tr class="separator:a6b98450ff11f0d3bb4e72c03f654f293"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:ac335dfcc3c91af9e59dc10d88c1da04f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac335dfcc3c91af9e59dc10d88c1da04f"></a>
229virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AltitudeValues</b> (float &amp;z, float &amp;dz) const </td></tr>
230<tr class="separator:ac335dfcc3c91af9e59dc10d88c1da04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
231<tr class="memitem:a2f2db381f71bae4f92395df4400d6e0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f2db381f71bae4f92395df4400d6e0c"></a>
232void&#160;</td><td class="memItemRight" valign="bottom"><b>EnterFailSafeMode</b> (void)</td></tr>
233<tr class="separator:a2f2db381f71bae4f92395df4400d6e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
234<tr class="memitem:ab2ed3ee4d9ccdbc2bb813a9b55a0d544"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2ed3ee4d9ccdbc2bb813a9b55a0d544"></a>
235bool&#160;</td><td class="memItemRight" valign="bottom"><b>ExitFailSafeMode</b> (void)</td></tr>
236<tr class="separator:ab2ed3ee4d9ccdbc2bb813a9b55a0d544"><td class="memSeparator" colspan="2">&#160;</td></tr>
237<tr class="memitem:acd12763a492e5d257da5ce1370a6d560"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd12763a492e5d257da5ce1370a6d560"></a>
238void&#160;</td><td class="memItemRight" valign="bottom"><b>FailSafeAltitudeValues</b> (float &amp;z, float &amp;dz) const </td></tr>
239<tr class="separator:acd12763a492e5d257da5ce1370a6d560"><td class="memSeparator" colspan="2">&#160;</td></tr>
240<tr class="memitem:a7fe403c4baa571230206581bfb423434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fe403c4baa571230206581bfb423434"></a>
241<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>
242<tr class="separator:a7fe403c4baa571230206581bfb423434"><td class="memSeparator" colspan="2">&#160;</td></tr>
243<tr class="memitem:a4d6998ef27892a685ff1f0d1be600f72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d6998ef27892a685ff1f0d1be600f72"></a>
244virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraSecurityCheck</b> (void)</td></tr>
245<tr class="separator:a4d6998ef27892a685ff1f0d1be600f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
246<tr class="memitem:a391e18a04f86f1660f9cb995e052cfac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a391e18a04f86f1660f9cb995e052cfac"></a>
247virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraCheckJoystick</b> (void)</td></tr>
248<tr class="separator:a391e18a04f86f1660f9cb995e052cfac"><td class="memSeparator" colspan="2">&#160;</td></tr>
249<tr class="memitem:ab00c67c969f749b25c9c442debfbbdd2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab00c67c969f749b25c9c442debfbbdd2"></a>
250virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ExtraCheckPushButton</b> (void)</td></tr>
251<tr class="separator:ab00c67c969f749b25c9c442debfbbdd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
252<tr class="memitem:a24c592e8b5013dfe9f494831d7edfacb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24c592e8b5013dfe9f494831d7edfacb"></a>
253void&#160;</td><td class="memItemRight" valign="bottom"><b>GetDefaultReferenceAltitude</b> (float &amp;refAltitude, float &amp;refVerticalVelocity)</td></tr>
254<tr class="separator:a24c592e8b5013dfe9f494831d7edfacb"><td class="memSeparator" colspan="2">&#160;</td></tr>
255<tr class="memitem:a9f97b96be1eaaab9dcb9e1a245b614f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f97b96be1eaaab9dcb9e1a245b614f2"></a>
256virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>GetReferenceAltitude</b> (float &amp;refAltitude, float &amp;refVerticalVelocity)</td></tr>
257<tr class="separator:a9f97b96be1eaaab9dcb9e1a245b614f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
258<tr class="memitem:acb613e16c489a521c664817ef74f00d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb613e16c489a521c664817ef74f00d9"></a>
259const <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>
260<tr class="separator:acb613e16c489a521c664817ef74f00d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
261<tr class="memitem:a9340da0cfbec2e72f323e51a43ae0b19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9340da0cfbec2e72f323e51a43ae0b19"></a>
262virtual 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>
263<tr class="separator:a9340da0cfbec2e72f323e51a43ae0b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
264<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>
265<tr class="memdesc:a239d9f75ff1a46752c2b06c37726336a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Custom Torques.  <a href="#a239d9f75ff1a46752c2b06c37726336a">More...</a><br /></td></tr>
266<tr class="separator:a239d9f75ff1a46752c2b06c37726336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
267<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>
268<tr class="memdesc:ac93d0d595a86a014c27375c973f693a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Default Torques.  <a href="#ac93d0d595a86a014c27375c973f693a8">More...</a><br /></td></tr>
269<tr class="separator:ac93d0d595a86a014c27375c973f693a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
270<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>
271<tr class="memdesc:a6af7f575d90ef500717a999ea4c4afef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Torques.  <a href="#a6af7f575d90ef500717a999ea4c4afef">More...</a><br /></td></tr>
272<tr class="separator:a6af7f575d90ef500717a999ea4c4afef"><td class="memSeparator" colspan="2">&#160;</td></tr>
273<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>
274<tr class="memdesc:ab25472bbf51a7baf97ec5e9cfc148f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Default Thrust.  <a href="#ab25472bbf51a7baf97ec5e9cfc148f8b">More...</a><br /></td></tr>
275<tr class="separator:ab25472bbf51a7baf97ec5e9cfc148f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
276<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>
277<tr class="memdesc:ab737f2861d5c1901a0f62f54fe2c0855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Thrust.  <a href="#ab737f2861d5c1901a0f62f54fe2c0855">More...</a><br /></td></tr>
278<tr class="separator:ab737f2861d5c1901a0f62f54fe2c0855"><td class="memSeparator" colspan="2">&#160;</td></tr>
279<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>
280<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>
281<tr class="separator:aa642bfeb1d97dec839088e2256a3699b"><td class="memSeparator" colspan="2">&#160;</td></tr>
282<tr class="memitem:a8e60c6966eb00cf63c0278d575b8e394"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e60c6966eb00cf63c0278d575b8e394"></a>
283const <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>
284<tr class="separator:a8e60c6966eb00cf63c0278d575b8e394"><td class="memSeparator" colspan="2">&#160;</td></tr>
285</table><table class="memberdecls">
286<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
287Protected Attributes</h2></td></tr>
288<tr class="memitem:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e5c71804025830b11104cdbe2d0f7dc"></a>
289<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>
290<tr class="separator:a9e5c71804025830b11104cdbe2d0f7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
291<tr class="memitem:a317042b2fcf037957ffc5539b8b2342e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a317042b2fcf037957ffc5539b8b2342e"></a>
292<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>
293<tr class="separator:a317042b2fcf037957ffc5539b8b2342e"><td class="memSeparator" colspan="2">&#160;</td></tr>
294</table><table class="memberdecls">
295<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
296Additional Inherited Members</h2></td></tr>
297<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>
298<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,
299<b>Red</b> = 31,
300<b>Green</b> = 32,
301<b>Orange</b> = 33
302 }</td></tr>
303<tr class="separator:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
304<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>
305<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>
306<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>
307<tr class="separator:a5ef98773d91697e162ab30b89528b007 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
308<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>
309<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>
310<tr class="separator:a39ede97ff3addeaf48ecec09c6625655 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
311<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>
312<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>
313<tr class="separator:a5a4f0f27689ae4292f81bf45e22998a5 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
314<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>
315<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>
316<tr class="separator:afa1fb0f8d5b18273394502159dd5dcef inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
317<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>
318<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>
319<tr class="separator:afcbb4a445fe287b8608b173bdc10f056 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
320<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>
321<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>
322<tr class="separator:aba8b31e2e4c1beccb31333beb8bd41a4 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
323<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>
324<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>
325<tr class="separator:a581ae3bdecef47c916671a6aafec9509 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
326<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>
327uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodUS</b> () const </td></tr>
328<tr class="separator:ab58a00466581b6cf88ba28b8e2118c65 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
329<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>
330<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>
331<tr class="separator:a37d13f12283d69ebd092a7cc01a7d742 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
332<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>
333uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetPeriodMS</b> () const </td></tr>
334<tr class="separator:afaa77472d57848bed10204ee5ec1d75a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
335<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>
336<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>
337<tr class="separator:af892a1b3025cb842cad8e7f2a11a9526 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
338<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>
339<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>
340<tr class="separator:a50cd2ea88d538e10a30c3e6a5286a944 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
341<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>
342<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>
343<tr class="separator:a2b5b5f3cf400729419bd864b654af252 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
344<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>
345<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>
346<tr class="separator:a0e5fc8919ed6042e5736a5dca5ba546b inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
347<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>
348<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>
349<tr class="separator:af93c2461c31a6c16958bc44189ab4253 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
350<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>
351<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>
352<tr class="separator:ae7c46910a801f1b16302570ad8ae9580 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
353<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>
354<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>
355<tr class="separator:adac9a6d336bdb50bcfa24c66943a355a inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
356<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>
357<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>
358<tr class="separator:ac09a2d745af3dbb42371949d4c622011 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
359<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>
360<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>
361<tr class="separator:a3479727dfaf2213f7866fccadb43eeb6 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
362<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>
363<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>
364<tr class="separator:a501e7802d7edd7e6167d111c803b8349 inherit pub_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
365<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>
366<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>
367<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>
368<tr class="separator:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
369<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>
370<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>
371<tr class="separator:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
372<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>
373<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>
374<tr class="separator:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
375<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>
376<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>
377<tr class="separator:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
378<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>
379<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>
380<tr class="separator:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
381<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>
382<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>
383<tr class="separator:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
384<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>
385<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>
386<tr class="separator:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
387<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>
388<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>
389<tr class="separator:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
390<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>
391<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>
392<tr class="separator:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
393<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>
394<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>
395<tr class="separator:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
396<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>
397<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>
398<tr class="separator:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
399<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>
400<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>
401<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>
402<tr class="separator:a7fbf5ad201e7e802f0fa127891849dc9 inherit pub_static_methods_classflair_1_1core_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
403</table>
404<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
405<div class="textblock"><p>State machine for UAV. </p>
406<p>thread synchronized with ahrs, unless a period is set with SetPeriodUS or SetPeriodMS </p>
407</div><h2 class="groupheader">Member Function Documentation</h2>
408<a class="anchor" id="a734a11e3bbedd8dd1726b2c450353da5"></a>
409<div class="memitem">
410<div class="memproto">
411<table class="mlabels">
412  <tr>
413  <td class="mlabels-left">
414      <table class="memname">
415        <tr>
416          <td class="memname">virtual void flair::meta::UavStateMachine::SignalEvent </td>
417          <td>(</td>
418          <td class="paramtype">Event_t&#160;</td>
419          <td class="paramname"><em>event</em></td><td>)</td>
420          <td></td>
421        </tr>
422      </table>
423  </td>
424  <td class="mlabels-right">
425<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
426  </tr>
427</table>
428</div><div class="memdoc">
429
430<p>Used to signal an event. </p>
431<dl class="params"><dt>Parameters</dt><dd>
432  <table class="params">
433    <tr><td class="paramname">event</td><td>the event which occured </td></tr>
434  </table>
435  </dd>
436</dl>
437
438</div>
439</div>
440<a class="anchor" id="a239d9f75ff1a46752c2b06c37726336a"></a>
441<div class="memitem">
442<div class="memproto">
443<table class="mlabels">
444  <tr>
445  <td class="mlabels-left">
446      <table class="memname">
447        <tr>
448          <td class="memname">virtual void flair::meta::UavStateMachine::ComputeCustomTorques </td>
449          <td>(</td>
450          <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
451          <td class="paramname"><em>torques</em></td><td>)</td>
452          <td></td>
453        </tr>
454      </table>
455  </td>
456  <td class="mlabels-right">
457<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
458  </tr>
459</table>
460</div><div class="memdoc">
461
462<p>Compute Custom Torques. </p>
463<p>Reimplement this method to use TorqueMode_t::Custom. <br />
464 This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV. ">UavStateMachine</a>, do not call it by yourself. <br />
465 See GetTorques if you need torques values.</p>
466<dl class="params"><dt>Parameters</dt><dd>
467  <table class="params">
468    <tr><td class="paramname">torques</td><td>custom torques </td></tr>
469  </table>
470  </dd>
471</dl>
472
473</div>
474</div>
475<a class="anchor" id="ac93d0d595a86a014c27375c973f693a8"></a>
476<div class="memitem">
477<div class="memproto">
478<table class="mlabels">
479  <tr>
480  <td class="mlabels-left">
481      <table class="memname">
482        <tr>
483          <td class="memname">void flair::meta::UavStateMachine::ComputeDefaultTorques </td>
484          <td>(</td>
485          <td class="paramtype"><a class="el" href="classflair_1_1core_1_1_euler.html">core::Euler</a> &amp;&#160;</td>
486          <td class="paramname"><em>torques</em></td><td>)</td>
487          <td></td>
488        </tr>
489      </table>
490  </td>
491  <td class="mlabels-right">
492<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
493  </tr>
494</table>
495</div><div class="memdoc">
496
497<p>Compute Default Torques. </p>
498<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. ">UavStateMachine</a> when using TorqueMode_t::Default. <br />
499 Torques are only computed once by loop, other calls to this method will use previously computed torques.</p>
500<dl class="params"><dt>Parameters</dt><dd>
501  <table class="params">
502    <tr><td class="paramname">torques</td><td>default torques </td></tr>
503  </table>
504  </dd>
505</dl>
506
507</div>
508</div>
509<a class="anchor" id="a6af7f575d90ef500717a999ea4c4afef"></a>
510<div class="memitem">
511<div class="memproto">
512<table class="mlabels">
513  <tr>
514  <td class="mlabels-left">
515      <table class="memname">
516        <tr>
517          <td class="memname">virtual float flair::meta::UavStateMachine::ComputeCustomThrust </td>
518          <td>(</td>
519          <td class="paramtype">void&#160;</td>
520          <td class="paramname"></td><td>)</td>
521          <td></td>
522        </tr>
523      </table>
524  </td>
525  <td class="mlabels-right">
526<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
527  </tr>
528</table>
529</div><div class="memdoc">
530
531<p>Get Torques. </p>
532<dl class="section return"><dt>Returns</dt><dd>torques current torques</dd></dl>
533<p>Compute Custom Thrust</p>
534<p>Reimplement this method to use ThrustMode_t::Custom. <br />
535 This method is called internally by <a class="el" href="classflair_1_1meta_1_1_uav_state_machine.html" title="State machine for UAV. ">UavStateMachine</a>, do not call it by yourself. <br />
536 See GetThrust if you need thrust value.</p>
537<dl class="section return"><dt>Returns</dt><dd>custom Thrust </dd></dl>
538
539</div>
540</div>
541<a class="anchor" id="ab25472bbf51a7baf97ec5e9cfc148f8b"></a>
542<div class="memitem">
543<div class="memproto">
544<table class="mlabels">
545  <tr>
546  <td class="mlabels-left">
547      <table class="memname">
548        <tr>
549          <td class="memname">float flair::meta::UavStateMachine::ComputeDefaultThrust </td>
550          <td>(</td>
551          <td class="paramtype">void&#160;</td>
552          <td class="paramname"></td><td>)</td>
553          <td></td>
554        </tr>
555      </table>
556  </td>
557  <td class="mlabels-right">
558<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
559  </tr>
560</table>
561</div><div class="memdoc">
562
563<p>Compute Default Thrust. </p>
564<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. ">UavStateMachine</a> when using ThrustMode_t::Default. <br />
565 Thrust is only computed once by loop, other calls to this method will use previously computed thrust.</p>
566<dl class="section return"><dt>Returns</dt><dd>default thrust </dd></dl>
567
568</div>
569</div>
570<a class="anchor" id="ab737f2861d5c1901a0f62f54fe2c0855"></a>
571<div class="memitem">
572<div class="memproto">
573<table class="mlabels">
574  <tr>
575  <td class="mlabels-left">
576      <table class="memname">
577        <tr>
578          <td class="memname">void flair::meta::UavStateMachine::AddDeviceToControlLawLog </td>
579          <td>(</td>
580          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_i_o_device.html">core::IODevice</a> *&#160;</td>
581          <td class="paramname"><em>device</em></td><td>)</td>
582          <td></td>
583        </tr>
584      </table>
585  </td>
586  <td class="mlabels-right">
587<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
588  </tr>
589</table>
590</div><div class="memdoc">
591
592<p>Get Thrust. </p>
593<dl class="section return"><dt>Returns</dt><dd>current thrust</dd></dl>
594<p>Add an IODevice to the control law logs</p>
595<p>The IODevice will be automatically logged among the Uz logs, if logging is enabled (see IODevice::SetDataToLog, FrameworkManager::StartLog and FrameworkManager::AddDeviceToLog). <br />
596 </p><dl class="params"><dt>Parameters</dt><dd>
597  <table class="params">
598    <tr><td class="paramname">device</td><td>IODevice to log </td></tr>
599  </table>
600  </dd>
601</dl>
602
603</div>
604</div>
605<a class="anchor" id="aa642bfeb1d97dec839088e2256a3699b"></a>
606<div class="memitem">
607<div class="memproto">
608<table class="mlabels">
609  <tr>
610  <td class="mlabels-left">
611      <table class="memname">
612        <tr>
613          <td class="memname">void flair::meta::UavStateMachine::AddDataToControlLawLog </td>
614          <td>(</td>
615          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1io__data.html">core::io_data</a> *&#160;</td>
616          <td class="paramname"><em>data</em></td><td>)</td>
617          <td></td>
618        </tr>
619      </table>
620  </td>
621  <td class="mlabels-right">
622<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
623  </tr>
624</table>
625</div><div class="memdoc">
626
627<p>Add an io_data to the control law logs. </p>
628<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 />
629 </p><dl class="params"><dt>Parameters</dt><dd>
630  <table class="params">
631    <tr><td class="paramname">data</td><td>io_data to log </td></tr>
632  </table>
633  </dd>
634</dl>
635
636</div>
637</div>
638</div><!-- contents -->
639</div><!-- doc-content -->
640<!-- start footer part -->
641<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
642  <ul>
643    <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>
644    <li class="footer">Generated on Wed Apr 20 2016 16:16:01 for Flair by
645    <a href="http://www.doxygen.org/index.html">
646    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.7 </li>
647  </ul>
648</div>
649</body>
650</html>
Note: See TracBrowser for help on using the repository browser.