Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4160

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::hwdrivers::CRovio Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html">CRovio</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::hwdrivers::CRovio Class Reference<div class="ingroups"><a class="el" href="group__mrpt__hwdrivers__grp.html">[mrpt-hwdrivers]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::hwdrivers::CRovio" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A class to interface a Rovio robot (manufactured by WowWee). </p>
<p>Supports: Simple motion commands, video streaming. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_rovio_8h_source.html">mrpt/hwdrivers/CRovio.h</a>&gt;</code></p>

<p><a href="classmrpt_1_1hwdrivers_1_1_c_rovio-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">TEncoders</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_options.html">TOptions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_rovio_state.html">TRovioState</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9a">status</a> { <br/>
&#160;&#160;<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9aa1e86d67a2765156046b3fab658475533">idle</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9aae4fe27eed96cbb0076e12db1b89d0224">driving_home</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9aa84caf482a698036904aa0c03e1c2e4ac">docking</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9aab60df763fd72731711934097be8d3f2c">executing_path</a>, 
<br/>
&#160;&#160;<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9aa8123b7057f5c035fafc4f8b96042bb2e">recording_path</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a703feb30066e56fa05e915c21fa2ad50">initialize</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Establish conection with Rovio and log in its system: Important, fill out "options" members *BEFORE* calling this method.  <a href="#a703feb30066e56fa05e915c21fa2ad50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#af59574be5fca9f00d4274b18955d8f99">move</a> (char direction, int speed=5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">move send Rovio the command to move in the specified direcction  <a href="#af59574be5fca9f00d4274b18955d8f99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a1e2dd99df10b312b6ad281e47ce1a10e">rotate</a> (char direction, int speed=5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">rotate send Rovio the command to rotate in the specified direcction 'r'-&gt;right, 'l'-&gt;left  <a href="#a1e2dd99df10b312b6ad281e47ce1a10e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a44a28484fb767e00728c2acf18554fc3">takeHeadUp</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Head positions.  <a href="#a44a28484fb767e00728c2acf18554fc3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a452e70ebab1b02e150d8a66402958bfb">takeHeadMiddle</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a41d96bb0bda1c6485cfe5c6333e7a5c4">takeHeadDown</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a50b08889c9980322fcae66f412acc910">pathRecord</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ad8223434a8d282b829ba48bfeacb6499">pathRecordAbort</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#afde448410f63cdd809e845b9b2268fc1">pathRecordSave</a> (const <a class="el" href="classstd_1_1string.html">string</a> &amp;path_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a38f4357625d94e52f01f0f746483ef86">pathDelete</a> (const <a class="el" href="classstd_1_1string.html">string</a> &amp;path_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a634cf2f8ac8385285f02ec96b262ac46">pathGetList</a> (<a class="el" href="classstd_1_1string.html">string</a> &amp;path_list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get list of saved paths.  <a href="#a634cf2f8ac8385285f02ec96b262ac46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a50df0e2671123a8e4221c48738a99320">pathRunForward</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a6908b710f83d38478029a91e4a2cfee6">pathRunBackward</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a9b4b3aef609b4868e0b52e70d04354cb">pathRunStop</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ad984b414fd9660cf95b4f8f0ba80b949">pathRunPause</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a091450bb2a4cad67ae8ffe59449e3aa8">pathRename</a> (const <a class="el" href="classstd_1_1string.html">string</a> &amp;old_name, const <a class="el" href="classstd_1_1string.html">string</a> &amp;new_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a0f56a46cd10dde1547b115472579ea0c">goHome</a> (bool dock, int speed=5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">goHome(bool dock) drives Rovio in front of charging station if the paremeter dock is set to false, otherwise it also docks  <a href="#a0f56a46cd10dde1547b115472579ea0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ae73ae762e351812c14d242e9a9a3c618">loadConfig</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;configSource, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the rovio camera calibration parameters (of leave the default ones if not found) (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#ae73ae762e351812c14d242e9a9a3c618"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a72fbf754198898a8c49c745714a813d2">retrieve_video</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function launchs a thread with the function "thread_video()" which gets frames into a buffer.  <a href="#a72fbf754198898a8c49c745714a813d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a719495a19d4c0e7a1ac4f3de0746551d">stop_video</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function stops and joins the thread launched by "retrieve_video()".  <a href="#a719495a19d4c0e7a1ac4f3de0746551d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a1e03f7a2b2aedc5704fd6e1a4d407e6c">getNextImageSync</a> (<a class="el" href="structmrpt_1_1slam_1_1_c_observation_image_ptr.html">CObservationImagePtr</a> &amp;lastImage)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next frame from Rovio's live video stream, after starting the live streaming with <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a72fbf754198898a8c49c745714a813d2" title="This function launchs a thread with the function &quot;thread_video()&quot; which gets frames into a buffer...">retrieve_video()</a>  <a href="#a1e03f7a2b2aedc5704fd6e1a4d407e6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a412e732947dceb6f023f4b9899dc5353">captureImageAsync</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;out_img, bool recttified)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a snapshot from Rovio, if rectified is set true, the returned image is rectified with the parameters of intrinsic_matrix and distortion_matrix.  <a href="#a412e732947dceb6f023f4b9899dc5353"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#acbf5c82f7e0fba080a38d459ab9f3fc4">isVideoStreamming</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if video is streaming correctly.  <a href="#acbf5c82f7e0fba080a38d459ab9f3fc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a5c406d194b8ffc9238e607e42efbefba">getRovioState</a> (<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_rovio_state.html">TRovioState</a> &amp;state)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_rovio_state.html">TRovioState</a> with internal information of Rovio (State, Navigation Signal Strength, Wifi Signal Strength)  <a href="#a5c406d194b8ffc9238e607e42efbefba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a68c64e037a78a532c15d6809d57bd3b5">getEncoders</a> (<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">TEncoders</a> &amp;<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a3b95035e902a6cac2d87218dfc4293ea">encoders</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">TEncoders</a> with information of Rovio encoders (since last read, it seems Rovio is continuously reading with unknown sample time)  <a href="#a68c64e037a78a532c15d6809d57bd3b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#aea21b445a73e24234ab50275278a75ec">getPosition</a> (<a class="el" href="structmrpt_1_1math_1_1_t_pose2_d.html">mrpt::math::TPose2D</a> &amp;out_pose)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the Rovio's pose.  <a href="#aea21b445a73e24234ab50275278a75ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#af2e38ab0e89aefc75e77617c2817ddec">CRovio</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a957cf0be9ad736fe90f04ae405012616">~CRovio</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/>
<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_options.html">mrpt::hwdrivers::CRovio::TOptions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a482527441e7a58b005e45d0848f6a86e">options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/>
<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">mrpt::hwdrivers::CRovio::TEncoders</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a3b95035e902a6cac2d87218dfc4293ea">encoders</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#af069ce650ef24c820156488bd668ae10">thread_video</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes a frame and waits until getLastImage ask for it, and so on.  <a href="#af069ce650ef24c820156488bd668ae10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#aac7281d105c76653f52eee43361c9309">send_cmd_action</a> (int act, int speed)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ab0a270fdccac5e8e405b7fde20c2c344">path_management</a> (int act)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a5cbda5c8ed482b5185900ed00f830e35">path_management</a> (int act, const <a class="el" href="classstd_1_1string.html">string</a> &amp;path_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a3be30938677093c44e35bee899bad525">general_command</a> (int act, <a class="el" href="classstd_1_1string.html">string</a> &amp;response, <a class="el" href="classstd_1_1string.html">string</a> &amp;errormsg)</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#acdb2006d78f67831c24eee0cfe5709cc">m_videoThread</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a53c9464a3e1efbe1c951631421e08343">m_videothread_must_exit</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ab1156ae2372af52ddc012878a8ac62bc">m_videothread_initialized_done</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ab3ae6f122dc06b6f07cbbe5b2a309e66">m_videothread_initialized_error</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a9503e1077b4d674860e6941174fbe684">m_videothread_finished</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_image_ptr.html">mrpt::slam::CObservationImagePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#aa8430e65309eba063484b707fecb1a9a">buffer_img</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4099cafdbde963aebf1af1a1020f72a3">buffer_img_cs</a></td></tr>
</table>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a4ae2b1916254750d8246dd0699253b9a"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::status" ref="a4ae2b1916254750d8246dd0699253b9a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4ae2b1916254750d8246dd0699253b9a">mrpt::hwdrivers::CRovio::status</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a4ae2b1916254750d8246dd0699253b9aa1e86d67a2765156046b3fab658475533"></a><!-- doxytag: member="idle" ref="a4ae2b1916254750d8246dd0699253b9aa1e86d67a2765156046b3fab658475533" args="" -->idle</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a4ae2b1916254750d8246dd0699253b9aae4fe27eed96cbb0076e12db1b89d0224"></a><!-- doxytag: member="driving_home" ref="a4ae2b1916254750d8246dd0699253b9aae4fe27eed96cbb0076e12db1b89d0224" args="" -->driving_home</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a4ae2b1916254750d8246dd0699253b9aa84caf482a698036904aa0c03e1c2e4ac"></a><!-- doxytag: member="docking" ref="a4ae2b1916254750d8246dd0699253b9aa84caf482a698036904aa0c03e1c2e4ac" args="" -->docking</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a4ae2b1916254750d8246dd0699253b9aab60df763fd72731711934097be8d3f2c"></a><!-- doxytag: member="executing_path" ref="a4ae2b1916254750d8246dd0699253b9aab60df763fd72731711934097be8d3f2c" args="" -->executing_path</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a4ae2b1916254750d8246dd0699253b9aa8123b7057f5c035fafc4f8b96042bb2e"></a><!-- doxytag: member="recording_path" ref="a4ae2b1916254750d8246dd0699253b9aa8123b7057f5c035fafc4f8b96042bb2e" args="" -->recording_path</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00091">91</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af2e38ab0e89aefc75e77617c2817ddec"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::CRovio" ref="af2e38ab0e89aefc75e77617c2817ddec" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::hwdrivers::CRovio::CRovio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a957cf0be9ad736fe90f04ae405012616"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::~CRovio" ref="a957cf0be9ad736fe90f04ae405012616" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::hwdrivers::CRovio::~CRovio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a412e732947dceb6f023f4b9899dc5353"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::captureImageAsync" ref="a412e732947dceb6f023f4b9899dc5353" args="(CImage &amp;out_img, bool recttified)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::captureImageAsync </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>out_img</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>recttified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a snapshot from Rovio, if rectified is set true, the returned image is rectified with the parameters of intrinsic_matrix and distortion_matrix. </p>
<p>This function works asynchronously and does not need to have enabled the live video streaming. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>captureImageSync </dd></dl>

</div>
</div>
<a class="anchor" id="a3be30938677093c44e35bee899bad525"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::general_command" ref="a3be30938677093c44e35bee899bad525" args="(int act, string &amp;response, string &amp;errormsg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::general_command </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>act</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>response</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>errormsg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a68c64e037a78a532c15d6809d57bd3b5"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::getEncoders" ref="a68c64e037a78a532c15d6809d57bd3b5" args="(TEncoders &amp;encoders)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::getEncoders </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">TEncoders</a> &amp;&#160;</td>
          <td class="paramname"><em>encoders</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">TEncoders</a> with information of Rovio encoders (since last read, it seems Rovio is continuously reading with unknown sample time) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="a1e03f7a2b2aedc5704fd6e1a4d407e6c"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::getNextImageSync" ref="a1e03f7a2b2aedc5704fd6e1a4d407e6c" args="(CObservationImagePtr &amp;lastImage)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::getNextImageSync </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_image_ptr.html">CObservationImagePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>lastImage</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the next frame from Rovio's live video stream, after starting the live streaming with <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a72fbf754198898a8c49c745714a813d2" title="This function launchs a thread with the function &quot;thread_video()&quot; which gets frames into a buffer...">retrieve_video()</a> </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a72fbf754198898a8c49c745714a813d2" title="This function launchs a thread with the function &quot;thread_video()&quot; which gets frames into a buffer...">retrieve_video</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a412e732947dceb6f023f4b9899dc5353" title="Returns a snapshot from Rovio, if rectified is set true, the returned image is rectified with the par...">captureImageAsync</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aea21b445a73e24234ab50275278a75ec"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::getPosition" ref="aea21b445a73e24234ab50275278a75ec" args="(mrpt::math::TPose2D &amp;out_pose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::getPosition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_pose2_d.html">mrpt::math::TPose2D</a> &amp;&#160;</td>
          <td class="paramname"><em>out_pose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the Rovio's pose. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="a5c406d194b8ffc9238e607e42efbefba"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::getRovioState" ref="a5c406d194b8ffc9238e607e42efbefba" args="(TRovioState &amp;state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::getRovioState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_rovio_state.html">TRovioState</a> &amp;&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_rovio_state.html">TRovioState</a> with internal information of Rovio (State, Navigation Signal Strength, Wifi Signal Strength) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="a0f56a46cd10dde1547b115472579ea0c"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::goHome" ref="a0f56a46cd10dde1547b115472579ea0c" args="(bool dock, int speed=5)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::goHome </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>speed</em> = <code>5</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>goHome(bool dock) drives Rovio in front of charging station if the paremeter dock is set to false, otherwise it also docks </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="a703feb30066e56fa05e915c21fa2ad50"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::initialize" ref="a703feb30066e56fa05e915c21fa2ad50" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CRovio::initialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Establish conection with Rovio and log in its system: Important, fill out "options" members *BEFORE* calling this method. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::runtime</td><td>On errors </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acbf5c82f7e0fba080a38d459ab9f3fc4"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::isVideoStreamming" ref="acbf5c82f7e0fba080a38d459ab9f3fc4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::isVideoStreamming </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if video is streaming correctly. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a72fbf754198898a8c49c745714a813d2" title="This function launchs a thread with the function &quot;thread_video()&quot; which gets frames into a buffer...">retrieve_video</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ae73ae762e351812c14d242e9a9a3c618"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::loadConfig" ref="ae73ae762e351812c14d242e9a9a3c618" args="(const mrpt::utils::CConfigFileBase &amp;configSource, const std::string &amp;section)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CRovio::loadConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>configSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads the rovio camera calibration parameters (of leave the default ones if not found) (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
</p>

</div>
</div>
<a class="anchor" id="af59574be5fca9f00d4274b18955d8f99"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::move" ref="af59574be5fca9f00d4274b18955d8f99" args="(char direction, int speed=5)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::move </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>direction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>speed</em> = <code>5</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>move send Rovio the command to move in the specified direcction </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">direction</td><td>'f'-&gt;forward, 'b'-&gt;backward, 'r'-&gt;right, 'l'-&gt;left </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="ab0a270fdccac5e8e405b7fde20c2c344"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::path_management" ref="ab0a270fdccac5e8e405b7fde20c2c344" args="(int act)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::path_management </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>act</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5cbda5c8ed482b5185900ed00f830e35"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::path_management" ref="a5cbda5c8ed482b5185900ed00f830e35" args="(int act, const string &amp;path_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::path_management </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>act</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>path_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a38f4357625d94e52f01f0f746483ef86"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathDelete" ref="a38f4357625d94e52f01f0f746483ef86" args="(const string &amp;path_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathDelete </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>path_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a634cf2f8ac8385285f02ec96b262ac46"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathGetList" ref="a634cf2f8ac8385285f02ec96b262ac46" args="(string &amp;path_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathGetList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>path_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get list of saved paths. </p>

</div>
</div>
<a class="anchor" id="a50b08889c9980322fcae66f412acc910"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRecord" ref="a50b08889c9980322fcae66f412acc910" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRecord </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad8223434a8d282b829ba48bfeacb6499"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRecordAbort" ref="ad8223434a8d282b829ba48bfeacb6499" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRecordAbort </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afde448410f63cdd809e845b9b2268fc1"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRecordSave" ref="afde448410f63cdd809e845b9b2268fc1" args="(const string &amp;path_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRecordSave </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>path_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a091450bb2a4cad67ae8ffe59449e3aa8"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRename" ref="a091450bb2a4cad67ae8ffe59449e3aa8" args="(const string &amp;old_name, const string &amp;new_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRename </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>old_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>new_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6908b710f83d38478029a91e4a2cfee6"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRunBackward" ref="a6908b710f83d38478029a91e4a2cfee6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRunBackward </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a50df0e2671123a8e4221c48738a99320"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRunForward" ref="a50df0e2671123a8e4221c48738a99320" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRunForward </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad984b414fd9660cf95b4f8f0ba80b949"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRunPause" ref="ad984b414fd9660cf95b4f8f0ba80b949" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRunPause </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9b4b3aef609b4868e0b52e70d04354cb"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::pathRunStop" ref="a9b4b3aef609b4868e0b52e70d04354cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::pathRunStop </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a72fbf754198898a8c49c745714a813d2"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::retrieve_video" ref="a72fbf754198898a8c49c745714a813d2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::retrieve_video </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function launchs a thread with the function "thread_video()" which gets frames into a buffer. </p>
<p>After calling this method, images can be obtained with <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a1e03f7a2b2aedc5704fd6e1a4d407e6c" title="Returns the next frame from Rovio&#39;s live video stream, after starting the live streaming with retriev...">getNextImageSync()</a> </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a1e03f7a2b2aedc5704fd6e1a4d407e6c" title="Returns the next frame from Rovio&#39;s live video stream, after starting the live streaming with retriev...">getNextImageSync</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1e2dd99df10b312b6ad281e47ce1a10e"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::rotate" ref="a1e2dd99df10b312b6ad281e47ce1a10e" args="(char direction, int speed=5)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::rotate </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>direction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>speed</em> = <code>5</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>rotate send Rovio the command to rotate in the specified direcction 'r'-&gt;right, 'l'-&gt;left </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="aac7281d105c76653f52eee43361c9309"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::send_cmd_action" ref="aac7281d105c76653f52eee43361c9309" args="(int act, int speed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::send_cmd_action </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>act</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>speed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a719495a19d4c0e7a1ac4f3de0746551d"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::stop_video" ref="a719495a19d4c0e7a1ac4f3de0746551d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::stop_video </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function stops and joins the thread launched by "retrieve_video()". </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="a41d96bb0bda1c6485cfe5c6333e7a5c4"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::takeHeadDown" ref="a41d96bb0bda1c6485cfe5c6333e7a5c4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::takeHeadDown </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a452e70ebab1b02e150d8a66402958bfb"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::takeHeadMiddle" ref="a452e70ebab1b02e150d8a66402958bfb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::takeHeadMiddle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a44a28484fb767e00728c2acf18554fc3"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::takeHeadUp" ref="a44a28484fb767e00728c2acf18554fc3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CRovio::takeHeadUp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Head positions. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>False on error </dd></dl>

</div>
</div>
<a class="anchor" id="af069ce650ef24c820156488bd668ae10"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::thread_video" ref="af069ce650ef24c820156488bd668ae10" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CRovio::thread_video </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function takes a frame and waits until getLastImage ask for it, and so on. </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aa8430e65309eba063484b707fecb1a9a"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::buffer_img" ref="aa8430e65309eba063484b707fecb1a9a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_image_ptr.html">mrpt::slam::CObservationImagePtr</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#aa8430e65309eba063484b707fecb1a9a">mrpt::hwdrivers::CRovio::buffer_img</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00062">62</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4099cafdbde963aebf1af1a1020f72a3"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::buffer_img_cs" ref="a4099cafdbde963aebf1af1a1020f72a3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a4099cafdbde963aebf1af1a1020f72a3">mrpt::hwdrivers::CRovio::buffer_img_cs</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00063">63</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3b95035e902a6cac2d87218dfc4293ea"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::encoders" ref="a3b95035e902a6cac2d87218dfc4293ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_encoders.html">mrpt::hwdrivers::CRovio::TEncoders</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a3b95035e902a6cac2d87218dfc4293ea">mrpt::hwdrivers::CRovio::encoders</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="acdb2006d78f67831c24eee0cfe5709cc"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::m_videoThread" ref="acdb2006d78f67831c24eee0cfe5709cc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#acdb2006d78f67831c24eee0cfe5709cc">mrpt::hwdrivers::CRovio::m_videoThread</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00056">56</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9503e1077b4d674860e6941174fbe684"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::m_videothread_finished" ref="a9503e1077b4d674860e6941174fbe684" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a9503e1077b4d674860e6941174fbe684">mrpt::hwdrivers::CRovio::m_videothread_finished</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00060">60</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab1156ae2372af52ddc012878a8ac62bc"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::m_videothread_initialized_done" ref="ab1156ae2372af52ddc012878a8ac62bc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ab1156ae2372af52ddc012878a8ac62bc">mrpt::hwdrivers::CRovio::m_videothread_initialized_done</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00058">58</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab3ae6f122dc06b6f07cbbe5b2a309e66"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::m_videothread_initialized_error" ref="ab3ae6f122dc06b6f07cbbe5b2a309e66" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#ab3ae6f122dc06b6f07cbbe5b2a309e66">mrpt::hwdrivers::CRovio::m_videothread_initialized_error</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00059">59</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="a53c9464a3e1efbe1c951631421e08343"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::m_videothread_must_exit" ref="a53c9464a3e1efbe1c951631421e08343" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a53c9464a3e1efbe1c951631421e08343">mrpt::hwdrivers::CRovio::m_videothread_must_exit</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rovio_8h_source.html#l00057">57</a> of file <a class="el" href="_c_rovio_8h_source.html">CRovio.h</a>.</p>

</div>
</div>
<a class="anchor" id="a482527441e7a58b005e45d0848f6a86e"></a><!-- doxytag: member="mrpt::hwdrivers::CRovio::options" ref="a482527441e7a58b005e45d0848f6a86e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_rovio_1_1_t_options.html">mrpt::hwdrivers::CRovio::TOptions</a>  <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_rovio.html#a482527441e7a58b005e45d0848f6a86e">mrpt::hwdrivers::CRovio::options</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>